[INFO] fetching crate cpython 0.7.2...
[INFO] fixing cpython-0.7.2 against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] extracting crate cpython 0.7.2 into /workspace/builds/worker-0-tc2/source
[INFO] started tweaking crates.io crate cpython 0.7.2
[INFO] finished tweaking crates.io crate cpython 0.7.2
[INFO] tweaked toml for crates.io crate cpython 0.7.2 written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate cpython 0.7.2 on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate cpython 0.7.2 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 2c30742d8e92ca8687208a685292bcc7c35de23f29a83a963f51b1a6412e5904
[INFO] running `Command { std: "docker" "start" "2c30742d8e92ca8687208a685292bcc7c35de23f29a83a963f51b1a6412e5904", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "2c30742d8e92ca8687208a685292bcc7c35de23f29a83a963f51b1a6412e5904" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "2c30742d8e92ca8687208a685292bcc7c35de23f29a83a963f51b1a6412e5904", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "2c30742d8e92ca8687208a685292bcc7c35de23f29a83a963f51b1a6412e5904" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2018 edition to 2021
[INFO] [stderr]    Compiling memchr v2.4.1
[INFO] [stderr]    Compiling regex-syntax v0.6.27
[INFO] [stderr]    Compiling libc v0.2.103
[INFO] [stderr]    Compiling serde v1.0.130
[INFO] [stderr]    Compiling cpython v0.7.2 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling rustversion v1.0.5
[INFO] [stderr]    Compiling paste v1.0.5
[INFO] [stderr]     Checking half v1.7.1
[INFO] [stderr]    Migrating build.rs from 2018 edition to 2021
[INFO] [stderr]    Compiling aho-corasick v0.7.18
[INFO] [stderr]    Compiling regex v1.6.0
[INFO] [stderr]     Checking serde_bytes v0.11.5
[INFO] [stderr]     Checking serde_cbor v0.11.2
[INFO] [stderr]    Compiling python3-sys v0.7.2
[INFO] [stderr]    Migrating src/lib.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/test_function.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating examples/hello.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/test_sharedref.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/test_thread_exit.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/test_class.rs from 2018 edition to 2021
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 11.12s
[INFO] [stderr] crater-edition-check: cpython v0.7.2 (/opt/rustwide/workdir) updating edition from 2018 to 2021
[INFO] [stderr]    Compiling cpython v0.7.2 (/opt/rustwide/workdir)
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/objects/mod.rs:119:85
[INFO] [stdout]     |
[INFO] [stdout] 119 |                 unsafe { crate::objects::typeobject::PyType::from_type_ptr(py, &mut crate::ffi::$typeobject) }
[INFO] [stdout]     |                                                                                     ^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/objects/boolobject.rs:10:1
[INFO] [stdout]     |
[INFO] [stdout]  10 | pyobject_newtype!(PyBool, PyBool_Check, PyBool_Type);
[INFO] [stdout]     | ---------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout]     = note: this warning originates in the macro `pyobject_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/objects/mod.rs:119:85
[INFO] [stdout]     |
[INFO] [stdout] 119 |                 unsafe { crate::objects::typeobject::PyType::from_type_ptr(py, &mut crate::ffi::$typeobject) }
[INFO] [stdout]     |                                                                                     ^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/objects/capsule.rs:190:1
[INFO] [stdout]     |
[INFO] [stdout] 190 | pyobject_newtype!(PyCapsule, PyCapsule_CheckExact, PyCapsule_Type);
[INFO] [stdout]     | ------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: this warning originates in the macro `pyobject_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/objects/mod.rs:119:85
[INFO] [stdout]     |
[INFO] [stdout] 119 |                 unsafe { crate::objects::typeobject::PyType::from_type_ptr(py, &mut crate::ffi::$typeobject) }
[INFO] [stdout]     |                                                                                     ^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/objects/dict.rs:30:1
[INFO] [stdout]     |
[INFO] [stdout]  30 | pyobject_newtype!(PyDict, PyDict_Check, PyDict_Type);
[INFO] [stdout]     | ---------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: this warning originates in the macro `pyobject_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/objects/mod.rs:119:85
[INFO] [stdout]     |
[INFO] [stdout] 119 |                 unsafe { crate::objects::typeobject::PyType::from_type_ptr(py, &mut crate::ffi::$typeobject) }
[INFO] [stdout]     |                                                                                     ^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/objects/list.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 | pyobject_newtype!(PyList, PyList_Check, PyList_Type);
[INFO] [stdout]     | ---------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: this warning originates in the macro `pyobject_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/objects/mod.rs:119:85
[INFO] [stdout]     |
[INFO] [stdout] 119 |                 unsafe { crate::objects::typeobject::PyType::from_type_ptr(py, &mut crate::ffi::$typeobject) }
[INFO] [stdout]     |                                                                                     ^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/objects/module.rs:33:1
[INFO] [stdout]     |
[INFO] [stdout]  33 | pyobject_newtype!(PyModule, PyModule_Check, PyModule_Type);
[INFO] [stdout]     | ---------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: this warning originates in the macro `pyobject_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/objects/mod.rs:119:85
[INFO] [stdout]     |
[INFO] [stdout] 119 |                 unsafe { crate::objects::typeobject::PyType::from_type_ptr(py, &mut crate::ffi::$typeobject) }
[INFO] [stdout]     |                                                                                     ^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/objects/num.rs:56:1
[INFO] [stdout]     |
[INFO] [stdout]  56 | pyobject_newtype!(PyLong, PyLong_Check, PyLong_Type);
[INFO] [stdout]     | ---------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: this warning originates in the macro `pyobject_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/objects/mod.rs:119:85
[INFO] [stdout]     |
[INFO] [stdout] 119 |                 unsafe { crate::objects::typeobject::PyType::from_type_ptr(py, &mut crate::ffi::$typeobject) }
[INFO] [stdout]     |                                                                                     ^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/objects/num.rs:65:1
[INFO] [stdout]     |
[INFO] [stdout]  65 | pyobject_newtype!(PyFloat, PyFloat_Check, PyFloat_Type);
[INFO] [stdout]     | ------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: this warning originates in the macro `pyobject_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/objects/object.rs:113:44
[INFO] [stdout]     |
[INFO] [stdout] 113 |         unsafe { PyType::from_type_ptr(py, &mut ffi::PyBaseObject_Type) }
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 113 |         unsafe { PyType::from_type_ptr(py, &raw mut ffi::PyBaseObject_Type) }
[INFO] [stdout]     |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/objects/mod.rs:119:85
[INFO] [stdout]     |
[INFO] [stdout] 119 |                 unsafe { crate::objects::typeobject::PyType::from_type_ptr(py, &mut crate::ffi::$typeobject) }
[INFO] [stdout]     |                                                                                     ^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/objects/set.rs:30:1
[INFO] [stdout]     |
[INFO] [stdout]  30 | pyobject_newtype!(PySet, PySet_Check, PySet_Type);
[INFO] [stdout]     | ------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: this warning originates in the macro `pyobject_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/objects/mod.rs:119:85
[INFO] [stdout]     |
[INFO] [stdout] 119 |                 unsafe { crate::objects::typeobject::PyType::from_type_ptr(py, &mut crate::ffi::$typeobject) }
[INFO] [stdout]     |                                                                                     ^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/objects/string.rs:36:1
[INFO] [stdout]     |
[INFO] [stdout]  36 | pyobject_newtype!(PyString, PyUnicode_Check, PyUnicode_Type);
[INFO] [stdout]     | ------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: this warning originates in the macro `pyobject_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/objects/mod.rs:119:85
[INFO] [stdout]     |
[INFO] [stdout] 119 |                 unsafe { crate::objects::typeobject::PyType::from_type_ptr(py, &mut crate::ffi::$typeobject) }
[INFO] [stdout]     |                                                                                     ^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/objects/string.rs:42:1
[INFO] [stdout]     |
[INFO] [stdout]  42 | pyobject_newtype!(PyBytes, PyBytes_Check, PyBytes_Type);
[INFO] [stdout]     | ------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: this warning originates in the macro `pyobject_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/objects/string.rs:270:17
[INFO] [stdout]     |
[INFO] [stdout] 270 |     pub fn data(&self, py: Python) -> PyStringData {
[INFO] [stdout]     |                 ^^^^^                 ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 270 |     pub fn data(&self, py: Python) -> PyStringData<'_> {
[INFO] [stdout]     |                                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/objects/string.rs:286:18
[INFO] [stdout]     |
[INFO] [stdout] 286 |     fn data_impl(&self, _py: Python) -> PyStringData {
[INFO] [stdout]     |                  ^^^^^                  ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 286 |     fn data_impl(&self, _py: Python) -> PyStringData<'_> {
[INFO] [stdout]     |                                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/objects/string.rs:321:22
[INFO] [stdout]     |
[INFO] [stdout] 321 |     pub fn to_string(&self, py: Python) -> PyResult<Cow<str>> {
[INFO] [stdout]     |                      ^^^^^                          ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 321 |     pub fn to_string(&self, py: Python) -> PyResult<Cow<'_, str>> {
[INFO] [stdout]     |                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/objects/string.rs:351:28
[INFO] [stdout]     |
[INFO] [stdout] 351 |     pub fn to_string_lossy(&self, py: Python) -> Cow<str> {
[INFO] [stdout]     |                            ^^^^^                 ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 351 |     pub fn to_string_lossy(&self, py: Python) -> Cow<'_, str> {
[INFO] [stdout]     |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/objects/mod.rs:119:85
[INFO] [stdout]     |
[INFO] [stdout] 119 |                 unsafe { crate::objects::typeobject::PyType::from_type_ptr(py, &mut crate::ffi::$typeobject) }
[INFO] [stdout]     |                                                                                     ^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/objects/tuple.rs:31:1
[INFO] [stdout]     |
[INFO] [stdout]  31 | pyobject_newtype!(PyTuple, PyTuple_Check, PyTuple_Type);
[INFO] [stdout]     | ------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: this warning originates in the macro `pyobject_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/objects/tuple.rs:91:17
[INFO] [stdout]    |
[INFO] [stdout] 91 |     pub fn iter(&self, py: Python) -> slice::Iter<PyObject> {
[INFO] [stdout]    |                 ^^^^^                 ^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 91 |     pub fn iter(&self, py: Python) -> slice::Iter<'_, PyObject> {
[INFO] [stdout]    |                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/objects/mod.rs:119:85
[INFO] [stdout]     |
[INFO] [stdout] 119 |                 unsafe { crate::objects::typeobject::PyType::from_type_ptr(py, &mut crate::ffi::$typeobject) }
[INFO] [stdout]     |                                                                                     ^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/objects/typeobject.rs:31:1
[INFO] [stdout]     |
[INFO] [stdout]  31 | pyobject_newtype!(PyType, PyType_Check, PyType_Type);
[INFO] [stdout]     | ---------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: this warning originates in the macro `pyobject_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: specialization is experimental
[INFO] [stdout]    --> src/objects/sequence.rs:259:5
[INFO] [stdout]     |
[INFO] [stdout] 259 |     default fn extract(py: Python, obj: &'s PyObject) -> PyResult<Self> {
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: see issue #31844 <https://github.com/rust-lang/rust/issues/31844> for more information
[INFO] [stdout]     = help: add `#![feature(specialization)]` to the crate attributes to enable
[INFO] [stdout]     = note: this compiler was built on 2026-06-16; consider upgrading it if it is out of date
[INFO] [stdout]     = warning: unstable syntax can change at any point in the future, causing a hard error!
[INFO] [stdout]     = note: for more information, see issue #154045 <https://github.com/rust-lang/rust/issues/154045>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/objects/mod.rs:119:85
[INFO] [stdout]     |
[INFO] [stdout] 119 |                 unsafe { crate::objects::typeobject::PyType::from_type_ptr(py, &mut crate::ffi::$typeobject) }
[INFO] [stdout]     |                                                                                     ^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/objects/boolobject.rs:10:1
[INFO] [stdout]     |
[INFO] [stdout]  10 | pyobject_newtype!(PyBool, PyBool_Check, PyBool_Type);
[INFO] [stdout]     | ---------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout]     = note: this warning originates in the macro `pyobject_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/objects/mod.rs:119:85
[INFO] [stdout]     |
[INFO] [stdout] 119 |                 unsafe { crate::objects::typeobject::PyType::from_type_ptr(py, &mut crate::ffi::$typeobject) }
[INFO] [stdout]     |                                                                                     ^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/objects/capsule.rs:190:1
[INFO] [stdout]     |
[INFO] [stdout] 190 | pyobject_newtype!(PyCapsule, PyCapsule_CheckExact, PyCapsule_Type);
[INFO] [stdout]     | ------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: this warning originates in the macro `pyobject_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/objects/mod.rs:119:85
[INFO] [stdout]     |
[INFO] [stdout] 119 |                 unsafe { crate::objects::typeobject::PyType::from_type_ptr(py, &mut crate::ffi::$typeobject) }
[INFO] [stdout]     |                                                                                     ^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/objects/dict.rs:30:1
[INFO] [stdout]     |
[INFO] [stdout]  30 | pyobject_newtype!(PyDict, PyDict_Check, PyDict_Type);
[INFO] [stdout]     | ---------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: this warning originates in the macro `pyobject_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/objects/mod.rs:119:85
[INFO] [stdout]     |
[INFO] [stdout] 119 |                 unsafe { crate::objects::typeobject::PyType::from_type_ptr(py, &mut crate::ffi::$typeobject) }
[INFO] [stdout]     |                                                                                     ^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/objects/list.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 | pyobject_newtype!(PyList, PyList_Check, PyList_Type);
[INFO] [stdout]     | ---------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: this warning originates in the macro `pyobject_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/objects/mod.rs:119:85
[INFO] [stdout]     |
[INFO] [stdout] 119 |                 unsafe { crate::objects::typeobject::PyType::from_type_ptr(py, &mut crate::ffi::$typeobject) }
[INFO] [stdout]     |                                                                                     ^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/objects/module.rs:33:1
[INFO] [stdout]     |
[INFO] [stdout]  33 | pyobject_newtype!(PyModule, PyModule_Check, PyModule_Type);
[INFO] [stdout]     | ---------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: this warning originates in the macro `pyobject_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/objects/mod.rs:119:85
[INFO] [stdout]     |
[INFO] [stdout] 119 |                 unsafe { crate::objects::typeobject::PyType::from_type_ptr(py, &mut crate::ffi::$typeobject) }
[INFO] [stdout]     |                                                                                     ^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/objects/num.rs:56:1
[INFO] [stdout]     |
[INFO] [stdout]  56 | pyobject_newtype!(PyLong, PyLong_Check, PyLong_Type);
[INFO] [stdout]     | ---------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: this warning originates in the macro `pyobject_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/objects/mod.rs:119:85
[INFO] [stdout]     |
[INFO] [stdout] 119 |                 unsafe { crate::objects::typeobject::PyType::from_type_ptr(py, &mut crate::ffi::$typeobject) }
[INFO] [stdout]     |                                                                                     ^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/objects/num.rs:65:1
[INFO] [stdout]     |
[INFO] [stdout]  65 | pyobject_newtype!(PyFloat, PyFloat_Check, PyFloat_Type);
[INFO] [stdout]     | ------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: this warning originates in the macro `pyobject_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/objects/object.rs:113:44
[INFO] [stdout]     |
[INFO] [stdout] 113 |         unsafe { PyType::from_type_ptr(py, &mut ffi::PyBaseObject_Type) }
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 113 |         unsafe { PyType::from_type_ptr(py, &raw mut ffi::PyBaseObject_Type) }
[INFO] [stdout]     |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/objects/mod.rs:119:85
[INFO] [stdout]     |
[INFO] [stdout] 119 |                 unsafe { crate::objects::typeobject::PyType::from_type_ptr(py, &mut crate::ffi::$typeobject) }
[INFO] [stdout]     |                                                                                     ^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/objects/set.rs:30:1
[INFO] [stdout]     |
[INFO] [stdout]  30 | pyobject_newtype!(PySet, PySet_Check, PySet_Type);
[INFO] [stdout]     | ------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: this warning originates in the macro `pyobject_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/objects/mod.rs:119:85
[INFO] [stdout]     |
[INFO] [stdout] 119 |                 unsafe { crate::objects::typeobject::PyType::from_type_ptr(py, &mut crate::ffi::$typeobject) }
[INFO] [stdout]     |                                                                                     ^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/objects/string.rs:36:1
[INFO] [stdout]     |
[INFO] [stdout]  36 | pyobject_newtype!(PyString, PyUnicode_Check, PyUnicode_Type);
[INFO] [stdout]     | ------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: this warning originates in the macro `pyobject_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/objects/mod.rs:119:85
[INFO] [stdout]     |
[INFO] [stdout] 119 |                 unsafe { crate::objects::typeobject::PyType::from_type_ptr(py, &mut crate::ffi::$typeobject) }
[INFO] [stdout]     |                                                                                     ^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/objects/string.rs:42:1
[INFO] [stdout]     |
[INFO] [stdout]  42 | pyobject_newtype!(PyBytes, PyBytes_Check, PyBytes_Type);
[INFO] [stdout]     | ------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: this warning originates in the macro `pyobject_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/objects/string.rs:270:17
[INFO] [stdout]     |
[INFO] [stdout] 270 |     pub fn data(&self, py: Python) -> PyStringData {
[INFO] [stdout]     |                 ^^^^^                 ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 270 |     pub fn data(&self, py: Python) -> PyStringData<'_> {
[INFO] [stdout]     |                                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/objects/string.rs:286:18
[INFO] [stdout]     |
[INFO] [stdout] 286 |     fn data_impl(&self, _py: Python) -> PyStringData {
[INFO] [stdout]     |                  ^^^^^                  ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 286 |     fn data_impl(&self, _py: Python) -> PyStringData<'_> {
[INFO] [stdout]     |                                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/objects/string.rs:321:22
[INFO] [stdout]     |
[INFO] [stdout] 321 |     pub fn to_string(&self, py: Python) -> PyResult<Cow<str>> {
[INFO] [stdout]     |                      ^^^^^                          ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 321 |     pub fn to_string(&self, py: Python) -> PyResult<Cow<'_, str>> {
[INFO] [stdout]     |                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/objects/string.rs:351:28
[INFO] [stdout]     |
[INFO] [stdout] 351 |     pub fn to_string_lossy(&self, py: Python) -> Cow<str> {
[INFO] [stdout]     |                            ^^^^^                 ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 351 |     pub fn to_string_lossy(&self, py: Python) -> Cow<'_, str> {
[INFO] [stdout]     |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/objects/mod.rs:119:85
[INFO] [stdout]     |
[INFO] [stdout] 119 |                 unsafe { crate::objects::typeobject::PyType::from_type_ptr(py, &mut crate::ffi::$typeobject) }
[INFO] [stdout]     |                                                                                     ^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/objects/tuple.rs:31:1
[INFO] [stdout]     |
[INFO] [stdout]  31 | pyobject_newtype!(PyTuple, PyTuple_Check, PyTuple_Type);
[INFO] [stdout]     | ------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: this warning originates in the macro `pyobject_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/objects/tuple.rs:91:17
[INFO] [stdout]    |
[INFO] [stdout] 91 |     pub fn iter(&self, py: Python) -> slice::Iter<PyObject> {
[INFO] [stdout]    |                 ^^^^^                 ^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 91 |     pub fn iter(&self, py: Python) -> slice::Iter<'_, PyObject> {
[INFO] [stdout]    |                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/objects/mod.rs:119:85
[INFO] [stdout]     |
[INFO] [stdout] 119 |                 unsafe { crate::objects::typeobject::PyType::from_type_ptr(py, &mut crate::ffi::$typeobject) }
[INFO] [stdout]     |                                                                                     ^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/objects/typeobject.rs:31:1
[INFO] [stdout]     |
[INFO] [stdout]  31 | pyobject_newtype!(PyType, PyType_Check, PyType_Type);
[INFO] [stdout]     | ---------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: this warning originates in the macro `pyobject_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: specialization is experimental
[INFO] [stdout]    --> src/objects/sequence.rs:259:5
[INFO] [stdout]     |
[INFO] [stdout] 259 |     default fn extract(py: Python, obj: &'s PyObject) -> PyResult<Self> {
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: see issue #31844 <https://github.com/rust-lang/rust/issues/31844> for more information
[INFO] [stdout]     = help: add `#![feature(specialization)]` to the crate attributes to enable
[INFO] [stdout]     = note: this compiler was built on 2026-06-16; consider upgrading it if it is out of date
[INFO] [stdout]     = warning: unstable syntax can change at any point in the future, causing a hard error!
[INFO] [stdout]     = note: for more information, see issue #154045 <https://github.com/rust-lang/rust/issues/154045>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: calls to `std::mem::drop` with a value that implements `Copy` does nothing
[INFO] [stdout]    --> tests/test_function.rs:114:9
[INFO] [stdout]     |
[INFO] [stdout] 114 |         drop(py); // avoid unused variable warning
[INFO] [stdout]     |         ^^^^^--^
[INFO] [stdout]     |              |
[INFO] [stdout]     |              argument has type `Python<'_>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dropping_copy_types)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the expression or result
[INFO] [stdout]     |
[INFO] [stdout] 114 -         drop(py); // avoid unused variable warning
[INFO] [stdout] 114 +         let _ = py; // avoid unused variable warning
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: calls to `std::mem::drop` with a value that implements `Copy` does nothing
[INFO] [stdout]    --> tests/test_function.rs:133:9
[INFO] [stdout]     |
[INFO] [stdout] 133 |         drop(py);
[INFO] [stdout]     |         ^^^^^--^
[INFO] [stdout]     |              |
[INFO] [stdout]     |              argument has type `Python<'_>`
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the expression or result
[INFO] [stdout]     |
[INFO] [stdout] 133 -         drop(py);
[INFO] [stdout] 133 +         let _ = py;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> tests/test_sharedref.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | / py_class!(class Owner |py| {
[INFO] [stdout] 4 | |     @shared data string: String;
[INFO] [stdout] 5 | | });
[INFO] [stdout]   | |  ^
[INFO] [stdout]   | |  |
[INFO] [stdout]   | |  `Owner` is not local
[INFO] [stdout]   | |__`PythonObjectWithTypeObject` is not local
[INFO] [stdout]   |    move the `impl` block outside of this associated function `create_instance`
[INFO] [stdout]   |
[INFO] [stdout]   = note: the macro `$crate::py_class_impl` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the macro `$crate::py_class_impl` may come from an old version of the `cpython` crate, try updating your dependency with `cargo update -p cpython`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]   = note: this warning originates in the macro `$crate::py_class_impl` which comes from the expansion of the macro `py_class` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> tests/test_sharedref.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | / py_class!(class Owner |py| {
[INFO] [stdout] 4 | |     @shared data string: String;
[INFO] [stdout] 5 | | });
[INFO] [stdout]   | |  ^
[INFO] [stdout]   | |  |
[INFO] [stdout]   | |  `Owner` is not local
[INFO] [stdout]   | |__`PythonObjectFromPyClassMacro` is not local
[INFO] [stdout]   |    move the `impl` block outside of this associated function `create_instance`
[INFO] [stdout]   |
[INFO] [stdout]   = note: the macro `$crate::py_class_impl` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the macro `$crate::py_class_impl` may come from an old version of the `cpython` crate, try updating your dependency with `cargo update -p cpython`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: this warning originates in the macro `$crate::py_class_impl` which comes from the expansion of the macro `py_class` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> tests/test_class.rs:36:1
[INFO] [stdout]    |
[INFO] [stdout] 36 | py_class!(class EmptyClass |py| { });
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    | |
[INFO] [stdout]    | `EmptyClass` is not local
[INFO] [stdout]    | `PythonObjectWithTypeObject` is not local
[INFO] [stdout]    | move the `impl` block outside of this associated function `create_instance`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the macro `$crate::py_class_impl` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the macro `$crate::py_class_impl` may come from an old version of the `cpython` crate, try updating your dependency with `cargo update -p cpython`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]    = note: this warning originates in the macro `$crate::py_class_impl` which comes from the expansion of the macro `py_class` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> tests/test_class.rs:36:1
[INFO] [stdout]    |
[INFO] [stdout] 36 | py_class!(class EmptyClass |py| { });
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    | |
[INFO] [stdout]    | `EmptyClass` is not local
[INFO] [stdout]    | `PythonObjectFromPyClassMacro` is not local
[INFO] [stdout]    | move the `impl` block outside of this associated function `create_instance`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the macro `$crate::py_class_impl` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the macro `$crate::py_class_impl` may come from an old version of the `cpython` crate, try updating your dependency with `cargo update -p cpython`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::py_class_impl` which comes from the expansion of the macro `py_class` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> tests/test_class.rs:49:1
[INFO] [stdout]    |
[INFO] [stdout] 49 | py_class!(class EmptyClassInModule |py| { });
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    | |
[INFO] [stdout]    | `EmptyClassInModule` is not local
[INFO] [stdout]    | `PythonObjectWithTypeObject` is not local
[INFO] [stdout]    | move the `impl` block outside of this associated function `create_instance`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the macro `$crate::py_class_impl` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the macro `$crate::py_class_impl` may come from an old version of the `cpython` crate, try updating your dependency with `cargo update -p cpython`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::py_class_impl` which comes from the expansion of the macro `py_class` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> tests/test_class.rs:49:1
[INFO] [stdout]    |
[INFO] [stdout] 49 | py_class!(class EmptyClassInModule |py| { });
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    | |
[INFO] [stdout]    | `EmptyClassInModule` is not local
[INFO] [stdout]    | `PythonObjectFromPyClassMacro` is not local
[INFO] [stdout]    | move the `impl` block outside of this associated function `create_instance`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the macro `$crate::py_class_impl` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the macro `$crate::py_class_impl` may come from an old version of the `cpython` crate, try updating your dependency with `cargo update -p cpython`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::py_class_impl` which comes from the expansion of the macro `py_class` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> tests/test_class.rs:75:1
[INFO] [stdout]    |
[INFO] [stdout] 75 | / py_class!(class EmptyClassWithNew |py| {
[INFO] [stdout] 76 | |     def __new__(_cls) -> PyResult<EmptyClassWithNew> {
[INFO] [stdout] 77 | |         EmptyClassWithNew::create_instance(py)
[INFO] [stdout] 78 | |     }
[INFO] [stdout] 79 | | });
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |  `EmptyClassWithNew` is not local
[INFO] [stdout]    | |__`PythonObjectWithTypeObject` is not local
[INFO] [stdout]    |    move the `impl` block outside of this associated function `create_instance`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the macro `$crate::py_class_impl` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the macro `$crate::py_class_impl` may come from an old version of the `cpython` crate, try updating your dependency with `cargo update -p cpython`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::py_class_impl` which comes from the expansion of the macro `py_class` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> tests/test_class.rs:75:1
[INFO] [stdout]    |
[INFO] [stdout] 75 | / py_class!(class EmptyClassWithNew |py| {
[INFO] [stdout] 76 | |     def __new__(_cls) -> PyResult<EmptyClassWithNew> {
[INFO] [stdout] 77 | |         EmptyClassWithNew::create_instance(py)
[INFO] [stdout] 78 | |     }
[INFO] [stdout] 79 | | });
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |  `EmptyClassWithNew` is not local
[INFO] [stdout]    | |__`PythonObjectFromPyClassMacro` is not local
[INFO] [stdout]    |    move the `impl` block outside of this associated function `create_instance`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the macro `$crate::py_class_impl` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the macro `$crate::py_class_impl` may come from an old version of the `cpython` crate, try updating your dependency with `cargo update -p cpython`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::py_class_impl` which comes from the expansion of the macro `py_class` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> tests/test_class.rs:93:1
[INFO] [stdout]    |
[INFO] [stdout] 93 | / py_class!(class NewWithOneArg |py| {
[INFO] [stdout] 94 | |     data _data: i32;
[INFO] [stdout] 95 | |     def __new__(_cls, arg: i32) -> PyResult<NewWithOneArg> {
[INFO] [stdout] 96 | |         NewWithOneArg::create_instance(py, arg)
[INFO] [stdout] 97 | |     }
[INFO] [stdout] 98 | | });
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |  `NewWithOneArg` is not local
[INFO] [stdout]    | |__`PythonObjectWithTypeObject` is not local
[INFO] [stdout]    |    move the `impl` block outside of this associated function `create_instance`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the macro `$crate::py_class_impl` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the macro `$crate::py_class_impl` may come from an old version of the `cpython` crate, try updating your dependency with `cargo update -p cpython`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::py_class_impl` which comes from the expansion of the macro `py_class` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> tests/test_class.rs:93:1
[INFO] [stdout]    |
[INFO] [stdout] 93 | / py_class!(class NewWithOneArg |py| {
[INFO] [stdout] 94 | |     data _data: i32;
[INFO] [stdout] 95 | |     def __new__(_cls, arg: i32) -> PyResult<NewWithOneArg> {
[INFO] [stdout] 96 | |         NewWithOneArg::create_instance(py, arg)
[INFO] [stdout] 97 | |     }
[INFO] [stdout] 98 | | });
[INFO] [stdout]    | |  ^
[INFO] [stdout]    | |  |
[INFO] [stdout]    | |  `NewWithOneArg` is not local
[INFO] [stdout]    | |__`PythonObjectFromPyClassMacro` is not local
[INFO] [stdout]    |    move the `impl` block outside of this associated function `create_instance`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the macro `$crate::py_class_impl` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the macro `$crate::py_class_impl` may come from an old version of the `cpython` crate, try updating your dependency with `cargo update -p cpython`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::py_class_impl` which comes from the expansion of the macro `py_class` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> tests/test_class.rs:113:1
[INFO] [stdout]     |
[INFO] [stdout] 113 | / py_class!(class NewWithTwoArgs |py| {
[INFO] [stdout] 114 | |     data _data1: i32;
[INFO] [stdout] 115 | |     data _data2: i32;
[INFO] [stdout] 116 | |     def __new__(_cls, arg1: i32, arg2: i32) -> PyResult<NewWithTwoArgs> {
[INFO] [stdout] ...   |
[INFO] [stdout] 119 | | });
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |  `NewWithTwoArgs` is not local
[INFO] [stdout]     | |__`PythonObjectWithTypeObject` is not local
[INFO] [stdout]     |    move the `impl` block outside of this associated function `create_instance`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` may come from an old version of the `cpython` crate, try updating your dependency with `cargo update -p cpython`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::py_class_impl` which comes from the expansion of the macro `py_class` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> tests/test_class.rs:113:1
[INFO] [stdout]     |
[INFO] [stdout] 113 | / py_class!(class NewWithTwoArgs |py| {
[INFO] [stdout] 114 | |     data _data1: i32;
[INFO] [stdout] 115 | |     data _data2: i32;
[INFO] [stdout] 116 | |     def __new__(_cls, arg1: i32, arg2: i32) -> PyResult<NewWithTwoArgs> {
[INFO] [stdout] ...   |
[INFO] [stdout] 119 | | });
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |  `NewWithTwoArgs` is not local
[INFO] [stdout]     | |__`PythonObjectFromPyClassMacro` is not local
[INFO] [stdout]     |    move the `impl` block outside of this associated function `create_instance`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` may come from an old version of the `cpython` crate, try updating your dependency with `cargo update -p cpython`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::py_class_impl` which comes from the expansion of the macro `py_class` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> tests/test_class.rs:144:1
[INFO] [stdout]     |
[INFO] [stdout] 144 | / py_class!(class DataIsDropped |py| {
[INFO] [stdout] 145 | |     data member1: TestDropCall;
[INFO] [stdout] 146 | |     data member2: TestDropCall;
[INFO] [stdout] 147 | | });
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |  `DataIsDropped` is not local
[INFO] [stdout]     | |__`PythonObjectWithTypeObject` is not local
[INFO] [stdout]     |    move the `impl` block outside of this associated function `create_instance`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` may come from an old version of the `cpython` crate, try updating your dependency with `cargo update -p cpython`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::py_class_impl` which comes from the expansion of the macro `py_class` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> tests/test_class.rs:144:1
[INFO] [stdout]     |
[INFO] [stdout] 144 | / py_class!(class DataIsDropped |py| {
[INFO] [stdout] 145 | |     data member1: TestDropCall;
[INFO] [stdout] 146 | |     data member2: TestDropCall;
[INFO] [stdout] 147 | | });
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |  `DataIsDropped` is not local
[INFO] [stdout]     | |__`PythonObjectFromPyClassMacro` is not local
[INFO] [stdout]     |    move the `impl` block outside of this associated function `create_instance`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` may come from an old version of the `cpython` crate, try updating your dependency with `cargo update -p cpython`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::py_class_impl` which comes from the expansion of the macro `py_class` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> tests/test_class.rs:172:1
[INFO] [stdout]     |
[INFO] [stdout] 172 | / py_class!(class InstanceMethod |py| {
[INFO] [stdout] 173 | |     data member: i32;
[INFO] [stdout] 174 | |
[INFO] [stdout] 175 | |     def method(&self) -> PyResult<i32> {
[INFO] [stdout] ...   |
[INFO] [stdout] 178 | | });
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |  `InstanceMethod` is not local
[INFO] [stdout]     | |__`PythonObjectWithTypeObject` is not local
[INFO] [stdout]     |    move the `impl` block outside of this associated function `create_instance`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` may come from an old version of the `cpython` crate, try updating your dependency with `cargo update -p cpython`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::py_class_impl` which comes from the expansion of the macro `py_class` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> tests/test_class.rs:172:1
[INFO] [stdout]     |
[INFO] [stdout] 172 | / py_class!(class InstanceMethod |py| {
[INFO] [stdout] 173 | |     data member: i32;
[INFO] [stdout] 174 | |
[INFO] [stdout] 175 | |     def method(&self) -> PyResult<i32> {
[INFO] [stdout] ...   |
[INFO] [stdout] 178 | | });
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |  `InstanceMethod` is not local
[INFO] [stdout]     | |__`PythonObjectFromPyClassMacro` is not local
[INFO] [stdout]     |    move the `impl` block outside of this associated function `create_instance`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` may come from an old version of the `cpython` crate, try updating your dependency with `cargo update -p cpython`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::py_class_impl` which comes from the expansion of the macro `py_class` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> tests/test_class.rs:192:1
[INFO] [stdout]     |
[INFO] [stdout] 192 | / py_class!(class InstanceMethodReturnsNone |py| {
[INFO] [stdout] 193 | |     data member: AtomicUsize;
[INFO] [stdout] 194 | |
[INFO] [stdout] 195 | |     def value(&self) -> PyResult<usize> {
[INFO] [stdout] ...   |
[INFO] [stdout] 203 | | });
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |  `InstanceMethodReturnsNone` is not local
[INFO] [stdout]     | |__`PythonObjectWithTypeObject` is not local
[INFO] [stdout]     |    move the `impl` block outside of this associated function `create_instance`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` may come from an old version of the `cpython` crate, try updating your dependency with `cargo update -p cpython`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::py_class_impl` which comes from the expansion of the macro `py_class` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> tests/test_class.rs:192:1
[INFO] [stdout]     |
[INFO] [stdout] 192 | / py_class!(class InstanceMethodReturnsNone |py| {
[INFO] [stdout] 193 | |     data member: AtomicUsize;
[INFO] [stdout] 194 | |
[INFO] [stdout] 195 | |     def value(&self) -> PyResult<usize> {
[INFO] [stdout] ...   |
[INFO] [stdout] 203 | | });
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |  `InstanceMethodReturnsNone` is not local
[INFO] [stdout]     | |__`PythonObjectFromPyClassMacro` is not local
[INFO] [stdout]     |    move the `impl` block outside of this associated function `create_instance`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` may come from an old version of the `cpython` crate, try updating your dependency with `cargo update -p cpython`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::py_class_impl` which comes from the expansion of the macro `py_class` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> tests/test_class.rs:220:1
[INFO] [stdout]     |
[INFO] [stdout] 220 | / py_class!(class InstanceMethodWithArgs |py| {
[INFO] [stdout] 221 | |     data member: i32;
[INFO] [stdout] 222 | |
[INFO] [stdout] 223 | |     def method(&self, multiplier: i32) -> PyResult<i32> {
[INFO] [stdout] ...   |
[INFO] [stdout] 230 | | });
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |  `InstanceMethodWithArgs` is not local
[INFO] [stdout]     | |__`PythonObjectWithTypeObject` is not local
[INFO] [stdout]     |    move the `impl` block outside of this associated function `create_instance`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` may come from an old version of the `cpython` crate, try updating your dependency with `cargo update -p cpython`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::py_class_impl` which comes from the expansion of the macro `py_class` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> tests/test_class.rs:220:1
[INFO] [stdout]     |
[INFO] [stdout] 220 | / py_class!(class InstanceMethodWithArgs |py| {
[INFO] [stdout] 221 | |     data member: i32;
[INFO] [stdout] 222 | |
[INFO] [stdout] 223 | |     def method(&self, multiplier: i32) -> PyResult<i32> {
[INFO] [stdout] ...   |
[INFO] [stdout] 230 | | });
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |  `InstanceMethodWithArgs` is not local
[INFO] [stdout]     | |__`PythonObjectFromPyClassMacro` is not local
[INFO] [stdout]     |    move the `impl` block outside of this associated function `create_instance`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` may come from an old version of the `cpython` crate, try updating your dependency with `cargo update -p cpython`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::py_class_impl` which comes from the expansion of the macro `py_class` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> tests/test_class.rs:249:1
[INFO] [stdout]     |
[INFO] [stdout] 249 | / py_class!(class ClassMethod |py| {
[INFO] [stdout] 250 | |     def __new__(cls) -> PyResult<ClassMethod> {
[INFO] [stdout] 251 | |         ClassMethod::create_instance(py)
[INFO] [stdout] ...   |
[INFO] [stdout] 258 | | });
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |  `ClassMethod` is not local
[INFO] [stdout]     | |__`PythonObjectWithTypeObject` is not local
[INFO] [stdout]     |    move the `impl` block outside of this associated function `create_instance`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` may come from an old version of the `cpython` crate, try updating your dependency with `cargo update -p cpython`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::py_class_impl` which comes from the expansion of the macro `py_class` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> tests/test_class.rs:249:1
[INFO] [stdout]     |
[INFO] [stdout] 249 | / py_class!(class ClassMethod |py| {
[INFO] [stdout] 250 | |     def __new__(cls) -> PyResult<ClassMethod> {
[INFO] [stdout] 251 | |         ClassMethod::create_instance(py)
[INFO] [stdout] ...   |
[INFO] [stdout] 258 | | });
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |  `ClassMethod` is not local
[INFO] [stdout]     | |__`PythonObjectFromPyClassMacro` is not local
[INFO] [stdout]     |    move the `impl` block outside of this associated function `create_instance`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` may come from an old version of the `cpython` crate, try updating your dependency with `cargo update -p cpython`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::py_class_impl` which comes from the expansion of the macro `py_class` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> tests/test_class.rs:281:1
[INFO] [stdout]     |
[INFO] [stdout] 281 | / py_class!(class ClassMethodWithArgs |py| {
[INFO] [stdout] 282 | |     @classmethod
[INFO] [stdout] 283 | |     def method(cls, input: &str) -> PyResult<String> {
[INFO] [stdout] 284 | |         Ok(format!("{}.method({})", cls.name(py), input))
[INFO] [stdout] 285 | |     }
[INFO] [stdout] 286 | | });
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |  `ClassMethodWithArgs` is not local
[INFO] [stdout]     | |__`PythonObjectWithTypeObject` is not local
[INFO] [stdout]     |    move the `impl` block outside of this associated function `create_instance`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` may come from an old version of the `cpython` crate, try updating your dependency with `cargo update -p cpython`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::py_class_impl` which comes from the expansion of the macro `py_class` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> tests/test_class.rs:281:1
[INFO] [stdout]     |
[INFO] [stdout] 281 | / py_class!(class ClassMethodWithArgs |py| {
[INFO] [stdout] 282 | |     @classmethod
[INFO] [stdout] 283 | |     def method(cls, input: &str) -> PyResult<String> {
[INFO] [stdout] 284 | |         Ok(format!("{}.method({})", cls.name(py), input))
[INFO] [stdout] 285 | |     }
[INFO] [stdout] 286 | | });
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |  `ClassMethodWithArgs` is not local
[INFO] [stdout]     | |__`PythonObjectFromPyClassMacro` is not local
[INFO] [stdout]     |    move the `impl` block outside of this associated function `create_instance`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` may come from an old version of the `cpython` crate, try updating your dependency with `cargo update -p cpython`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::py_class_impl` which comes from the expansion of the macro `py_class` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> tests/test_class.rs:304:1
[INFO] [stdout]     |
[INFO] [stdout] 304 | / py_class!(class StaticMethod |py| {
[INFO] [stdout] 305 | |     def __new__(cls) -> PyResult<StaticMethod> {
[INFO] [stdout] 306 | |         StaticMethod::create_instance(py)
[INFO] [stdout] ...   |
[INFO] [stdout] 313 | | });
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |  `StaticMethod` is not local
[INFO] [stdout]     | |__`PythonObjectWithTypeObject` is not local
[INFO] [stdout]     |    move the `impl` block outside of this associated function `create_instance`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` may come from an old version of the `cpython` crate, try updating your dependency with `cargo update -p cpython`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::py_class_impl` which comes from the expansion of the macro `py_class` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> tests/test_class.rs:304:1
[INFO] [stdout]     |
[INFO] [stdout] 304 | / py_class!(class StaticMethod |py| {
[INFO] [stdout] 305 | |     def __new__(cls) -> PyResult<StaticMethod> {
[INFO] [stdout] 306 | |         StaticMethod::create_instance(py)
[INFO] [stdout] ...   |
[INFO] [stdout] 313 | | });
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |  `StaticMethod` is not local
[INFO] [stdout]     | |__`PythonObjectFromPyClassMacro` is not local
[INFO] [stdout]     |    move the `impl` block outside of this associated function `create_instance`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` may come from an old version of the `cpython` crate, try updating your dependency with `cargo update -p cpython`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::py_class_impl` which comes from the expansion of the macro `py_class` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> tests/test_class.rs:337:1
[INFO] [stdout]     |
[INFO] [stdout] 337 | / py_class!(class StaticMethodWithArgs |py| {
[INFO] [stdout] 338 | |     @staticmethod
[INFO] [stdout] 339 | |     def method(input: i32) -> PyResult<String> {
[INFO] [stdout] 340 | |         Ok(format!("0x{:x}", input))
[INFO] [stdout] 341 | |     }
[INFO] [stdout] 342 | | });
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |  `StaticMethodWithArgs` is not local
[INFO] [stdout]     | |__`PythonObjectWithTypeObject` is not local
[INFO] [stdout]     |    move the `impl` block outside of this associated function `create_instance`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` may come from an old version of the `cpython` crate, try updating your dependency with `cargo update -p cpython`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::py_class_impl` which comes from the expansion of the macro `py_class` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> tests/test_class.rs:337:1
[INFO] [stdout]     |
[INFO] [stdout] 337 | / py_class!(class StaticMethodWithArgs |py| {
[INFO] [stdout] 338 | |     @staticmethod
[INFO] [stdout] 339 | |     def method(input: i32) -> PyResult<String> {
[INFO] [stdout] 340 | |         Ok(format!("0x{:x}", input))
[INFO] [stdout] 341 | |     }
[INFO] [stdout] 342 | | });
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |  `StaticMethodWithArgs` is not local
[INFO] [stdout]     | |__`PythonObjectFromPyClassMacro` is not local
[INFO] [stdout]     |    move the `impl` block outside of this associated function `create_instance`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` may come from an old version of the `cpython` crate, try updating your dependency with `cargo update -p cpython`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::py_class_impl` which comes from the expansion of the macro `py_class` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> tests/test_class.rs:357:1
[INFO] [stdout]     |
[INFO] [stdout] 357 | / py_class!(class StaticData |py| {
[INFO] [stdout] 358 | |     static VAL1 = 123;
[INFO] [stdout] 359 | |     static VAL2 = py.None();
[INFO] [stdout] 360 | | });
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |  `StaticData` is not local
[INFO] [stdout]     | |__`PythonObjectWithTypeObject` is not local
[INFO] [stdout]     |    move the `impl` block outside of this associated function `create_instance`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` may come from an old version of the `cpython` crate, try updating your dependency with `cargo update -p cpython`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::py_class_impl` which comes from the expansion of the macro `py_class` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> tests/test_class.rs:357:1
[INFO] [stdout]     |
[INFO] [stdout] 357 | / py_class!(class StaticData |py| {
[INFO] [stdout] 358 | |     static VAL1 = 123;
[INFO] [stdout] 359 | |     static VAL2 = py.None();
[INFO] [stdout] 360 | | });
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |  `StaticData` is not local
[INFO] [stdout]     | |__`PythonObjectFromPyClassMacro` is not local
[INFO] [stdout]     |    move the `impl` block outside of this associated function `create_instance`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` may come from an old version of the `cpython` crate, try updating your dependency with `cargo update -p cpython`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::py_class_impl` which comes from the expansion of the macro `py_class` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> tests/test_class.rs:374:1
[INFO] [stdout]     |
[INFO] [stdout] 374 | / py_class!(class GCIntegration |py| {
[INFO] [stdout] 375 | |     data self_ref: RefCell<PyObject>;
[INFO] [stdout] 376 | |     data dropped: TestDropCall;
[INFO] [stdout] ...   |
[INFO] [stdout] 387 | | });
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |  `GCIntegration` is not local
[INFO] [stdout]     | |__`PythonObjectWithTypeObject` is not local
[INFO] [stdout]     |    move the `impl` block outside of this associated function `create_instance`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` may come from an old version of the `cpython` crate, try updating your dependency with `cargo update -p cpython`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::py_class_impl` which comes from the expansion of the macro `py_class` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> tests/test_class.rs:374:1
[INFO] [stdout]     |
[INFO] [stdout] 374 | / py_class!(class GCIntegration |py| {
[INFO] [stdout] 375 | |     data self_ref: RefCell<PyObject>;
[INFO] [stdout] 376 | |     data dropped: TestDropCall;
[INFO] [stdout] ...   |
[INFO] [stdout] 387 | | });
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |  `GCIntegration` is not local
[INFO] [stdout]     | |__`PythonObjectFromPyClassMacro` is not local
[INFO] [stdout]     |    move the `impl` block outside of this associated function `create_instance`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` may come from an old version of the `cpython` crate, try updating your dependency with `cargo update -p cpython`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::py_class_impl` which comes from the expansion of the macro `py_class` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> tests/test_class.rs:410:1
[INFO] [stdout]     |
[INFO] [stdout] 410 | / py_class!(class Len |py| {
[INFO] [stdout] 411 | |     data l: usize;
[INFO] [stdout] 412 | |
[INFO] [stdout] 413 | |     def __len__(&self) -> PyResult<usize> {
[INFO] [stdout] ...   |
[INFO] [stdout] 416 | | });
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |  `Len` is not local
[INFO] [stdout]     | |__`PythonObjectWithTypeObject` is not local
[INFO] [stdout]     |    move the `impl` block outside of this associated function `create_instance`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` may come from an old version of the `cpython` crate, try updating your dependency with `cargo update -p cpython`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::py_class_impl` which comes from the expansion of the macro `py_class` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> tests/test_class.rs:410:1
[INFO] [stdout]     |
[INFO] [stdout] 410 | / py_class!(class Len |py| {
[INFO] [stdout] 411 | |     data l: usize;
[INFO] [stdout] 412 | |
[INFO] [stdout] 413 | |     def __len__(&self) -> PyResult<usize> {
[INFO] [stdout] ...   |
[INFO] [stdout] 416 | | });
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |  `Len` is not local
[INFO] [stdout]     | |__`PythonObjectFromPyClassMacro` is not local
[INFO] [stdout]     |    move the `impl` block outside of this associated function `create_instance`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` may come from an old version of the `cpython` crate, try updating your dependency with `cargo update -p cpython`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::py_class_impl` which comes from the expansion of the macro `py_class` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> tests/test_class.rs:434:1
[INFO] [stdout]     |
[INFO] [stdout] 434 | / py_class!(class Iterator |py| {
[INFO] [stdout] 435 | |     data iter: RefCell<Box<dyn iter::Iterator<Item=i32> + Send>>;
[INFO] [stdout] 436 | |
[INFO] [stdout] 437 | |     def __iter__(&self) -> PyResult<Iterator> {
[INFO] [stdout] ...   |
[INFO] [stdout] 444 | | });
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |  `Iterator` is not local
[INFO] [stdout]     | |__`PythonObjectWithTypeObject` is not local
[INFO] [stdout]     |    move the `impl` block outside of this associated function `create_instance`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` may come from an old version of the `cpython` crate, try updating your dependency with `cargo update -p cpython`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::py_class_impl` which comes from the expansion of the macro `py_class` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> tests/test_class.rs:434:1
[INFO] [stdout]     |
[INFO] [stdout] 434 | / py_class!(class Iterator |py| {
[INFO] [stdout] 435 | |     data iter: RefCell<Box<dyn iter::Iterator<Item=i32> + Send>>;
[INFO] [stdout] 436 | |
[INFO] [stdout] 437 | |     def __iter__(&self) -> PyResult<Iterator> {
[INFO] [stdout] ...   |
[INFO] [stdout] 444 | | });
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |  `Iterator` is not local
[INFO] [stdout]     | |__`PythonObjectFromPyClassMacro` is not local
[INFO] [stdout]     |    move the `impl` block outside of this associated function `create_instance`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` may come from an old version of the `cpython` crate, try updating your dependency with `cargo update -p cpython`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::py_class_impl` which comes from the expansion of the macro `py_class` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> tests/test_class.rs:456:1
[INFO] [stdout]     |
[INFO] [stdout] 456 | / py_class!(class StringMethods |py| {
[INFO] [stdout] 457 | |     def __str__(&self) -> PyResult<&'static str> {
[INFO] [stdout] 458 | |         Ok("str")
[INFO] [stdout] ...   |
[INFO] [stdout] 476 | | });
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |  `StringMethods` is not local
[INFO] [stdout]     | |__`PythonObjectWithTypeObject` is not local
[INFO] [stdout]     |    move the `impl` block outside of this associated function `create_instance`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` may come from an old version of the `cpython` crate, try updating your dependency with `cargo update -p cpython`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::py_class_impl` which comes from the expansion of the macro `py_class` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> tests/test_class.rs:456:1
[INFO] [stdout]     |
[INFO] [stdout] 456 | / py_class!(class StringMethods |py| {
[INFO] [stdout] 457 | |     def __str__(&self) -> PyResult<&'static str> {
[INFO] [stdout] 458 | |         Ok("str")
[INFO] [stdout] ...   |
[INFO] [stdout] 476 | | });
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |  `StringMethods` is not local
[INFO] [stdout]     | |__`PythonObjectFromPyClassMacro` is not local
[INFO] [stdout]     |    move the `impl` block outside of this associated function `create_instance`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` may come from an old version of the `cpython` crate, try updating your dependency with `cargo update -p cpython`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::py_class_impl` which comes from the expansion of the macro `py_class` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> tests/test_class.rs:509:1
[INFO] [stdout]     |
[INFO] [stdout] 509 | / py_class!(class Comparisons |py| {
[INFO] [stdout] 510 | |     data val: i32;
[INFO] [stdout] 511 | |
[INFO] [stdout] 512 | |     def __hash__(&self) -> PyResult<i32> {
[INFO] [stdout] ...   |
[INFO] [stdout] 519 | | });
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |  `Comparisons` is not local
[INFO] [stdout]     | |__`PythonObjectWithTypeObject` is not local
[INFO] [stdout]     |    move the `impl` block outside of this associated function `create_instance`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` may come from an old version of the `cpython` crate, try updating your dependency with `cargo update -p cpython`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::py_class_impl` which comes from the expansion of the macro `py_class` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> tests/test_class.rs:509:1
[INFO] [stdout]     |
[INFO] [stdout] 509 | / py_class!(class Comparisons |py| {
[INFO] [stdout] 510 | |     data val: i32;
[INFO] [stdout] 511 | |
[INFO] [stdout] 512 | |     def __hash__(&self) -> PyResult<i32> {
[INFO] [stdout] ...   |
[INFO] [stdout] 519 | | });
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |  `Comparisons` is not local
[INFO] [stdout]     | |__`PythonObjectFromPyClassMacro` is not local
[INFO] [stdout]     |    move the `impl` block outside of this associated function `create_instance`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` may come from an old version of the `cpython` crate, try updating your dependency with `cargo update -p cpython`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::py_class_impl` which comes from the expansion of the macro `py_class` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> tests/test_class.rs:538:1
[INFO] [stdout]     |
[INFO] [stdout] 538 | / py_class!(class Sequence |py| {
[INFO] [stdout] 539 | |     def __len__(&self) -> PyResult<usize> {
[INFO] [stdout] 540 | |         Ok(5)
[INFO] [stdout] ...   |
[INFO] [stdout] 551 | | });
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |  `Sequence` is not local
[INFO] [stdout]     | |__`PythonObjectWithTypeObject` is not local
[INFO] [stdout]     |    move the `impl` block outside of this associated function `create_instance`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` may come from an old version of the `cpython` crate, try updating your dependency with `cargo update -p cpython`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::py_class_impl` which comes from the expansion of the macro `py_class` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> tests/test_class.rs:538:1
[INFO] [stdout]     |
[INFO] [stdout] 538 | / py_class!(class Sequence |py| {
[INFO] [stdout] 539 | |     def __len__(&self) -> PyResult<usize> {
[INFO] [stdout] 540 | |         Ok(5)
[INFO] [stdout] ...   |
[INFO] [stdout] 551 | | });
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |  `Sequence` is not local
[INFO] [stdout]     | |__`PythonObjectFromPyClassMacro` is not local
[INFO] [stdout]     |    move the `impl` block outside of this associated function `create_instance`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` may come from an old version of the `cpython` crate, try updating your dependency with `cargo update -p cpython`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::py_class_impl` which comes from the expansion of the macro `py_class` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> tests/test_class.rs:563:1
[INFO] [stdout]     |
[INFO] [stdout] 563 | / py_class!(class SequenceRef |py| {
[INFO] [stdout] 564 | |     def __getitem__(&self, key: &str) -> PyResult<String> {
[INFO] [stdout] 565 | |         if key.is_empty() {
[INFO] [stdout] 566 | |             return Err(PyErr::new::<exc::IndexError, NoArgs>(py, NoArgs));
[INFO] [stdout] ...   |
[INFO] [stdout] 577 | | });
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |  `SequenceRef` is not local
[INFO] [stdout]     | |__`PythonObjectWithTypeObject` is not local
[INFO] [stdout]     |    move the `impl` block outside of this associated function `create_instance`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` may come from an old version of the `cpython` crate, try updating your dependency with `cargo update -p cpython`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::py_class_impl` which comes from the expansion of the macro `py_class` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> tests/test_class.rs:563:1
[INFO] [stdout]     |
[INFO] [stdout] 563 | / py_class!(class SequenceRef |py| {
[INFO] [stdout] 564 | |     def __getitem__(&self, key: &str) -> PyResult<String> {
[INFO] [stdout] 565 | |         if key.is_empty() {
[INFO] [stdout] 566 | |             return Err(PyErr::new::<exc::IndexError, NoArgs>(py, NoArgs));
[INFO] [stdout] ...   |
[INFO] [stdout] 577 | | });
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |  `SequenceRef` is not local
[INFO] [stdout]     | |__`PythonObjectFromPyClassMacro` is not local
[INFO] [stdout]     |    move the `impl` block outside of this associated function `create_instance`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` may come from an old version of the `cpython` crate, try updating your dependency with `cargo update -p cpython`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::py_class_impl` which comes from the expansion of the macro `py_class` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> tests/test_class.rs:592:1
[INFO] [stdout]     |
[INFO] [stdout] 592 | / py_class!(class Callable |py| {
[INFO] [stdout] 593 | |     def __call__(&self, arg: i32) -> PyResult<i32> {
[INFO] [stdout] 594 | |         Ok(arg * 6)
[INFO] [stdout] 595 | |     }
[INFO] [stdout] 596 | | });
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |  `Callable` is not local
[INFO] [stdout]     | |__`PythonObjectWithTypeObject` is not local
[INFO] [stdout]     |    move the `impl` block outside of this associated function `create_instance`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` may come from an old version of the `cpython` crate, try updating your dependency with `cargo update -p cpython`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::py_class_impl` which comes from the expansion of the macro `py_class` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> tests/test_class.rs:592:1
[INFO] [stdout]     |
[INFO] [stdout] 592 | / py_class!(class Callable |py| {
[INFO] [stdout] 593 | |     def __call__(&self, arg: i32) -> PyResult<i32> {
[INFO] [stdout] 594 | |         Ok(arg * 6)
[INFO] [stdout] 595 | |     }
[INFO] [stdout] 596 | | });
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |  `Callable` is not local
[INFO] [stdout]     | |__`PythonObjectFromPyClassMacro` is not local
[INFO] [stdout]     |    move the `impl` block outside of this associated function `create_instance`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` may come from an old version of the `cpython` crate, try updating your dependency with `cargo update -p cpython`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::py_class_impl` which comes from the expansion of the macro `py_class` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> tests/test_class.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / py_class!(class SetItem |py| {
[INFO] [stdout] 612 | |     data key: Cell<i32>;
[INFO] [stdout] 613 | |     data val: Cell<i32>;
[INFO] [stdout] ...   |
[INFO] [stdout] 620 | | });
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |  `SetItem` is not local
[INFO] [stdout]     | |__`PythonObjectWithTypeObject` is not local
[INFO] [stdout]     |    move the `impl` block outside of this associated function `create_instance`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` may come from an old version of the `cpython` crate, try updating your dependency with `cargo update -p cpython`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::py_class_impl` which comes from the expansion of the macro `py_class` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> tests/test_class.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / py_class!(class SetItem |py| {
[INFO] [stdout] 612 | |     data key: Cell<i32>;
[INFO] [stdout] 613 | |     data val: Cell<i32>;
[INFO] [stdout] ...   |
[INFO] [stdout] 620 | | });
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |  `SetItem` is not local
[INFO] [stdout]     | |__`PythonObjectFromPyClassMacro` is not local
[INFO] [stdout]     |    move the `impl` block outside of this associated function `create_instance`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` may come from an old version of the `cpython` crate, try updating your dependency with `cargo update -p cpython`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::py_class_impl` which comes from the expansion of the macro `py_class` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> tests/test_class.rs:634:1
[INFO] [stdout]     |
[INFO] [stdout] 634 | / py_class!(class SetItemRef |py| {
[INFO] [stdout] 635 | |     data key: RefCell<String>;
[INFO] [stdout] 636 | |     data val: Cell<i32>;
[INFO] [stdout] ...   |
[INFO] [stdout] 643 | | });
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |  `SetItemRef` is not local
[INFO] [stdout]     | |__`PythonObjectWithTypeObject` is not local
[INFO] [stdout]     |    move the `impl` block outside of this associated function `create_instance`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` may come from an old version of the `cpython` crate, try updating your dependency with `cargo update -p cpython`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::py_class_impl` which comes from the expansion of the macro `py_class` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> tests/test_class.rs:634:1
[INFO] [stdout]     |
[INFO] [stdout] 634 | / py_class!(class SetItemRef |py| {
[INFO] [stdout] 635 | |     data key: RefCell<String>;
[INFO] [stdout] 636 | |     data val: Cell<i32>;
[INFO] [stdout] ...   |
[INFO] [stdout] 643 | | });
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |  `SetItemRef` is not local
[INFO] [stdout]     | |__`PythonObjectFromPyClassMacro` is not local
[INFO] [stdout]     |    move the `impl` block outside of this associated function `create_instance`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` may come from an old version of the `cpython` crate, try updating your dependency with `cargo update -p cpython`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::py_class_impl` which comes from the expansion of the macro `py_class` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> tests/test_class.rs:657:1
[INFO] [stdout]     |
[INFO] [stdout] 657 | / py_class!(class SetItemOptRef |py| {
[INFO] [stdout] 658 | |     data key: RefCell<String>;
[INFO] [stdout] 659 | |     data val: Cell<i32>;
[INFO] [stdout] ...   |
[INFO] [stdout] 670 | | });
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |  `SetItemOptRef` is not local
[INFO] [stdout]     | |__`PythonObjectWithTypeObject` is not local
[INFO] [stdout]     |    move the `impl` block outside of this associated function `create_instance`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` may come from an old version of the `cpython` crate, try updating your dependency with `cargo update -p cpython`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::py_class_impl` which comes from the expansion of the macro `py_class` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> tests/test_class.rs:657:1
[INFO] [stdout]     |
[INFO] [stdout] 657 | / py_class!(class SetItemOptRef |py| {
[INFO] [stdout] 658 | |     data key: RefCell<String>;
[INFO] [stdout] 659 | |     data val: Cell<i32>;
[INFO] [stdout] ...   |
[INFO] [stdout] 670 | | });
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |  `SetItemOptRef` is not local
[INFO] [stdout]     | |__`PythonObjectFromPyClassMacro` is not local
[INFO] [stdout]     |    move the `impl` block outside of this associated function `create_instance`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` may come from an old version of the `cpython` crate, try updating your dependency with `cargo update -p cpython`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::py_class_impl` which comes from the expansion of the macro `py_class` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> tests/test_class.rs:684:1
[INFO] [stdout]     |
[INFO] [stdout] 684 | / py_class!(class DelItem |py| {
[INFO] [stdout] 685 | |     data key: Cell<i32>;
[INFO] [stdout] 686 | |
[INFO] [stdout] 687 | |     def __delitem__(&self, key: i32) -> PyResult<()> {
[INFO] [stdout] ...   |
[INFO] [stdout] 691 | | });
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |  `DelItem` is not local
[INFO] [stdout]     | |__`PythonObjectWithTypeObject` is not local
[INFO] [stdout]     |    move the `impl` block outside of this associated function `create_instance`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` may come from an old version of the `cpython` crate, try updating your dependency with `cargo update -p cpython`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::py_class_impl` which comes from the expansion of the macro `py_class` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> tests/test_class.rs:684:1
[INFO] [stdout]     |
[INFO] [stdout] 684 | / py_class!(class DelItem |py| {
[INFO] [stdout] 685 | |     data key: Cell<i32>;
[INFO] [stdout] 686 | |
[INFO] [stdout] 687 | |     def __delitem__(&self, key: i32) -> PyResult<()> {
[INFO] [stdout] ...   |
[INFO] [stdout] 691 | | });
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |  `DelItem` is not local
[INFO] [stdout]     | |__`PythonObjectFromPyClassMacro` is not local
[INFO] [stdout]     |    move the `impl` block outside of this associated function `create_instance`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` may come from an old version of the `cpython` crate, try updating your dependency with `cargo update -p cpython`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::py_class_impl` which comes from the expansion of the macro `py_class` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> tests/test_class.rs:704:1
[INFO] [stdout]     |
[INFO] [stdout] 704 | / py_class!(class SetDelItem |py| {
[INFO] [stdout] 705 | |     data val: Cell<Option<i32>>;
[INFO] [stdout] 706 | |
[INFO] [stdout] 707 | |     def __setitem__(&self, key: i32, val: i32) -> PyResult<()> {
[INFO] [stdout] ...   |
[INFO] [stdout] 716 | | });
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |  `SetDelItem` is not local
[INFO] [stdout]     | |__`PythonObjectWithTypeObject` is not local
[INFO] [stdout]     |    move the `impl` block outside of this associated function `create_instance`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` may come from an old version of the `cpython` crate, try updating your dependency with `cargo update -p cpython`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::py_class_impl` which comes from the expansion of the macro `py_class` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> tests/test_class.rs:704:1
[INFO] [stdout]     |
[INFO] [stdout] 704 | / py_class!(class SetDelItem |py| {
[INFO] [stdout] 705 | |     data val: Cell<Option<i32>>;
[INFO] [stdout] 706 | |
[INFO] [stdout] 707 | |     def __setitem__(&self, key: i32, val: i32) -> PyResult<()> {
[INFO] [stdout] ...   |
[INFO] [stdout] 716 | | });
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |  `SetDelItem` is not local
[INFO] [stdout]     | |__`PythonObjectFromPyClassMacro` is not local
[INFO] [stdout]     |    move the `impl` block outside of this associated function `create_instance`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` may come from an old version of the `cpython` crate, try updating your dependency with `cargo update -p cpython`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::py_class_impl` which comes from the expansion of the macro `py_class` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> tests/test_class.rs:730:1
[INFO] [stdout]     |
[INFO] [stdout] 730 | / py_class!(class Reversed |py| {
[INFO] [stdout] 731 | |     def __reversed__(&self) -> PyResult<&'static str> {
[INFO] [stdout] 732 | |         Ok("I am reversed")
[INFO] [stdout] 733 | |     }
[INFO] [stdout] 734 | | });
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |  `Reversed` is not local
[INFO] [stdout]     | |__`PythonObjectWithTypeObject` is not local
[INFO] [stdout]     |    move the `impl` block outside of this associated function `create_instance`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` may come from an old version of the `cpython` crate, try updating your dependency with `cargo update -p cpython`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::py_class_impl` which comes from the expansion of the macro `py_class` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> tests/test_class.rs:730:1
[INFO] [stdout]     |
[INFO] [stdout] 730 | / py_class!(class Reversed |py| {
[INFO] [stdout] 731 | |     def __reversed__(&self) -> PyResult<&'static str> {
[INFO] [stdout] 732 | |         Ok("I am reversed")
[INFO] [stdout] 733 | |     }
[INFO] [stdout] 734 | | });
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |  `Reversed` is not local
[INFO] [stdout]     | |__`PythonObjectFromPyClassMacro` is not local
[INFO] [stdout]     |    move the `impl` block outside of this associated function `create_instance`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` may come from an old version of the `cpython` crate, try updating your dependency with `cargo update -p cpython`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::py_class_impl` which comes from the expansion of the macro `py_class` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> tests/test_class.rs:745:1
[INFO] [stdout]     |
[INFO] [stdout] 745 | / py_class!(class Contains |py| {
[INFO] [stdout] 746 | |     def __contains__(&self, item: i32) -> PyResult<bool> {
[INFO] [stdout] 747 | |         Ok(item >= 0)
[INFO] [stdout] 748 | |     }
[INFO] [stdout] 749 | | });
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |  `Contains` is not local
[INFO] [stdout]     | |__`PythonObjectWithTypeObject` is not local
[INFO] [stdout]     |    move the `impl` block outside of this associated function `create_instance`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` may come from an old version of the `cpython` crate, try updating your dependency with `cargo update -p cpython`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::py_class_impl` which comes from the expansion of the macro `py_class` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> tests/test_class.rs:745:1
[INFO] [stdout]     |
[INFO] [stdout] 745 | / py_class!(class Contains |py| {
[INFO] [stdout] 746 | |     def __contains__(&self, item: i32) -> PyResult<bool> {
[INFO] [stdout] 747 | |         Ok(item >= 0)
[INFO] [stdout] 748 | |     }
[INFO] [stdout] 749 | | });
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |  `Contains` is not local
[INFO] [stdout]     | |__`PythonObjectFromPyClassMacro` is not local
[INFO] [stdout]     |    move the `impl` block outside of this associated function `create_instance`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` may come from an old version of the `cpython` crate, try updating your dependency with `cargo update -p cpython`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::py_class_impl` which comes from the expansion of the macro `py_class` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> tests/test_class.rs:762:1
[INFO] [stdout]     |
[INFO] [stdout] 762 | / py_class!(class ContainsRef |py| {
[INFO] [stdout] 763 | |     def __contains__(&self, item: &str) -> PyResult<bool> {
[INFO] [stdout] 764 | |         Ok(item.is_empty())
[INFO] [stdout] 765 | |     }
[INFO] [stdout] 766 | | });
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |  `ContainsRef` is not local
[INFO] [stdout]     | |__`PythonObjectWithTypeObject` is not local
[INFO] [stdout]     |    move the `impl` block outside of this associated function `create_instance`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` may come from an old version of the `cpython` crate, try updating your dependency with `cargo update -p cpython`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::py_class_impl` which comes from the expansion of the macro `py_class` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> tests/test_class.rs:762:1
[INFO] [stdout]     |
[INFO] [stdout] 762 | / py_class!(class ContainsRef |py| {
[INFO] [stdout] 763 | |     def __contains__(&self, item: &str) -> PyResult<bool> {
[INFO] [stdout] 764 | |         Ok(item.is_empty())
[INFO] [stdout] 765 | |     }
[INFO] [stdout] 766 | | });
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |  `ContainsRef` is not local
[INFO] [stdout]     | |__`PythonObjectFromPyClassMacro` is not local
[INFO] [stdout]     |    move the `impl` block outside of this associated function `create_instance`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` may come from an old version of the `cpython` crate, try updating your dependency with `cargo update -p cpython`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::py_class_impl` which comes from the expansion of the macro `py_class` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> tests/test_class.rs:779:1
[INFO] [stdout]     |
[INFO] [stdout] 779 | / py_class!(class ContainsOptRef |py| {
[INFO] [stdout] 780 | |     def __contains__(&self, item: Option<&str>) -> PyResult<bool> {
[INFO] [stdout] 781 | |         Ok(item.map_or(false, str::is_empty))
[INFO] [stdout] 782 | |     }
[INFO] [stdout] 783 | | });
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |  `ContainsOptRef` is not local
[INFO] [stdout]     | |__`PythonObjectWithTypeObject` is not local
[INFO] [stdout]     |    move the `impl` block outside of this associated function `create_instance`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` may come from an old version of the `cpython` crate, try updating your dependency with `cargo update -p cpython`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::py_class_impl` which comes from the expansion of the macro `py_class` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> tests/test_class.rs:779:1
[INFO] [stdout]     |
[INFO] [stdout] 779 | / py_class!(class ContainsOptRef |py| {
[INFO] [stdout] 780 | |     def __contains__(&self, item: Option<&str>) -> PyResult<bool> {
[INFO] [stdout] 781 | |         Ok(item.map_or(false, str::is_empty))
[INFO] [stdout] 782 | |     }
[INFO] [stdout] 783 | | });
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |  `ContainsOptRef` is not local
[INFO] [stdout]     | |__`PythonObjectFromPyClassMacro` is not local
[INFO] [stdout]     |    move the `impl` block outside of this associated function `create_instance`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` may come from an old version of the `cpython` crate, try updating your dependency with `cargo update -p cpython`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::py_class_impl` which comes from the expansion of the macro `py_class` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> tests/test_class.rs:797:1
[INFO] [stdout]     |
[INFO] [stdout] 797 | / py_class!(class UnaryArithmetic |py| {
[INFO] [stdout] 798 | |     def __neg__(&self) -> PyResult<&'static str> {
[INFO] [stdout] 799 | |         Ok("neg")
[INFO] [stdout] ...   |
[INFO] [stdout] 813 | | });
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |  `UnaryArithmetic` is not local
[INFO] [stdout]     | |__`PythonObjectWithTypeObject` is not local
[INFO] [stdout]     |    move the `impl` block outside of this associated function `create_instance`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` may come from an old version of the `cpython` crate, try updating your dependency with `cargo update -p cpython`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::py_class_impl` which comes from the expansion of the macro `py_class` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> tests/test_class.rs:797:1
[INFO] [stdout]     |
[INFO] [stdout] 797 | / py_class!(class UnaryArithmetic |py| {
[INFO] [stdout] 798 | |     def __neg__(&self) -> PyResult<&'static str> {
[INFO] [stdout] 799 | |         Ok("neg")
[INFO] [stdout] ...   |
[INFO] [stdout] 813 | | });
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |  `UnaryArithmetic` is not local
[INFO] [stdout]     | |__`PythonObjectFromPyClassMacro` is not local
[INFO] [stdout]     |    move the `impl` block outside of this associated function `create_instance`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` may come from an old version of the `cpython` crate, try updating your dependency with `cargo update -p cpython`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::py_class_impl` which comes from the expansion of the macro `py_class` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> tests/test_class.rs:827:1
[INFO] [stdout]     |
[INFO] [stdout] 827 | / py_class!(class BinaryArithmetic |py| {
[INFO] [stdout] 828 | |     def __repr__(&self) -> PyResult<&'static str> {
[INFO] [stdout] 829 | |         Ok("BA")
[INFO] [stdout] ...   |
[INFO] [stdout] 863 | | });
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |  `BinaryArithmetic` is not local
[INFO] [stdout]     | |__`PythonObjectWithTypeObject` is not local
[INFO] [stdout]     |    move the `impl` block outside of this associated function `create_instance`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` may come from an old version of the `cpython` crate, try updating your dependency with `cargo update -p cpython`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::py_class_impl` which comes from the expansion of the macro `py_class` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> tests/test_class.rs:827:1
[INFO] [stdout]     |
[INFO] [stdout] 827 | / py_class!(class BinaryArithmetic |py| {
[INFO] [stdout] 828 | |     def __repr__(&self) -> PyResult<&'static str> {
[INFO] [stdout] 829 | |         Ok("BA")
[INFO] [stdout] ...   |
[INFO] [stdout] 863 | | });
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |  `BinaryArithmetic` is not local
[INFO] [stdout]     | |__`PythonObjectFromPyClassMacro` is not local
[INFO] [stdout]     |    move the `impl` block outside of this associated function `create_instance`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` may come from an old version of the `cpython` crate, try updating your dependency with `cargo update -p cpython`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::py_class_impl` which comes from the expansion of the macro `py_class` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> tests/test_class.rs:891:1
[INFO] [stdout]     |
[INFO] [stdout] 891 | / py_class!(class RichComparisons |py| {
[INFO] [stdout] 892 | |     def __repr__(&self) -> PyResult<&'static str> {
[INFO] [stdout] 893 | |         Ok("RC")
[INFO] [stdout] ...   |
[INFO] [stdout] 906 | | });
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |  `RichComparisons` is not local
[INFO] [stdout]     | |__`PythonObjectWithTypeObject` is not local
[INFO] [stdout]     |    move the `impl` block outside of this associated function `create_instance`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` may come from an old version of the `cpython` crate, try updating your dependency with `cargo update -p cpython`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::py_class_impl` which comes from the expansion of the macro `py_class` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> tests/test_class.rs:891:1
[INFO] [stdout]     |
[INFO] [stdout] 891 | / py_class!(class RichComparisons |py| {
[INFO] [stdout] 892 | |     def __repr__(&self) -> PyResult<&'static str> {
[INFO] [stdout] 893 | |         Ok("RC")
[INFO] [stdout] ...   |
[INFO] [stdout] 906 | | });
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |  `RichComparisons` is not local
[INFO] [stdout]     | |__`PythonObjectFromPyClassMacro` is not local
[INFO] [stdout]     |    move the `impl` block outside of this associated function `create_instance`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` may come from an old version of the `cpython` crate, try updating your dependency with `cargo update -p cpython`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::py_class_impl` which comes from the expansion of the macro `py_class` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> tests/test_class.rs:908:1
[INFO] [stdout]     |
[INFO] [stdout] 908 | / py_class!(class RichComparisons2 |py| {
[INFO] [stdout] 909 | |     def __repr__(&self) -> PyResult<&'static str> {
[INFO] [stdout] 910 | |         Ok("RC2")
[INFO] [stdout] ...   |
[INFO] [stdout] 920 | | });
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |  `RichComparisons2` is not local
[INFO] [stdout]     | |__`PythonObjectWithTypeObject` is not local
[INFO] [stdout]     |    move the `impl` block outside of this associated function `create_instance`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` may come from an old version of the `cpython` crate, try updating your dependency with `cargo update -p cpython`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::py_class_impl` which comes from the expansion of the macro `py_class` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> tests/test_class.rs:908:1
[INFO] [stdout]     |
[INFO] [stdout] 908 | / py_class!(class RichComparisons2 |py| {
[INFO] [stdout] 909 | |     def __repr__(&self) -> PyResult<&'static str> {
[INFO] [stdout] 910 | |         Ok("RC2")
[INFO] [stdout] ...   |
[INFO] [stdout] 920 | | });
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |  `RichComparisons2` is not local
[INFO] [stdout]     | |__`PythonObjectFromPyClassMacro` is not local
[INFO] [stdout]     |    move the `impl` block outside of this associated function `create_instance`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` may come from an old version of the `cpython` crate, try updating your dependency with `cargo update -p cpython`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::py_class_impl` which comes from the expansion of the macro `py_class` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> tests/test_class.rs:975:1
[INFO] [stdout]     |
[INFO] [stdout] 975 | / py_class!(class RichComparisonsRef |py| {
[INFO] [stdout] 976 | |     def __repr__(&self) -> PyResult<&'static str> {
[INFO] [stdout] 977 | |         Ok("RCR")
[INFO] [stdout] ...   |
[INFO] [stdout] 990 | | });
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |  `RichComparisonsRef` is not local
[INFO] [stdout]     | |__`PythonObjectWithTypeObject` is not local
[INFO] [stdout]     |    move the `impl` block outside of this associated function `create_instance`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` may come from an old version of the `cpython` crate, try updating your dependency with `cargo update -p cpython`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::py_class_impl` which comes from the expansion of the macro `py_class` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> tests/test_class.rs:975:1
[INFO] [stdout]     |
[INFO] [stdout] 975 | / py_class!(class RichComparisonsRef |py| {
[INFO] [stdout] 976 | |     def __repr__(&self) -> PyResult<&'static str> {
[INFO] [stdout] 977 | |         Ok("RCR")
[INFO] [stdout] ...   |
[INFO] [stdout] 990 | | });
[INFO] [stdout]     | |  ^
[INFO] [stdout]     | |  |
[INFO] [stdout]     | |  `RichComparisonsRef` is not local
[INFO] [stdout]     | |__`PythonObjectFromPyClassMacro` is not local
[INFO] [stdout]     |    move the `impl` block outside of this associated function `create_instance`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the macro `$crate::py_class_impl` may come from an old version of the `cpython` crate, try updating your dependency with `cargo update -p cpython`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::py_class_impl` which comes from the expansion of the macro `py_class` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]     --> tests/test_class.rs:1008:1
[INFO] [stdout]      |
[INFO] [stdout] 1008 | / py_class!(class RichComparisonsOptRef |py| {
[INFO] [stdout] 1009 | |     def __repr__(&self) -> PyResult<&'static str> {
[INFO] [stdout] 1010 | |         Ok("RCR")
[INFO] [stdout] ...    |
[INFO] [stdout] 1029 | | });
[INFO] [stdout]      | |  ^
[INFO] [stdout]      | |  |
[INFO] [stdout]      | |  `RichComparisonsOptRef` is not local
[INFO] [stdout]      | |__`PythonObjectWithTypeObject` is not local
[INFO] [stdout]      |    move the `impl` block outside of this associated function `create_instance`
[INFO] [stdout]      |
[INFO] [stdout]      = note: the macro `$crate::py_class_impl` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]      = note: the macro `$crate::py_class_impl` may come from an old version of the `cpython` crate, try updating your dependency with `cargo update -p cpython`
[INFO] [stdout]      = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = note: this warning originates in the macro `$crate::py_class_impl` which comes from the expansion of the macro `py_class` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]     --> tests/test_class.rs:1008:1
[INFO] [stdout]      |
[INFO] [stdout] 1008 | / py_class!(class RichComparisonsOptRef |py| {
[INFO] [stdout] 1009 | |     def __repr__(&self) -> PyResult<&'static str> {
[INFO] [stdout] 1010 | |         Ok("RCR")
[INFO] [stdout] ...    |
[INFO] [stdout] 1029 | | });
[INFO] [stdout]      | |  ^
[INFO] [stdout]      | |  |
[INFO] [stdout]      | |  `RichComparisonsOptRef` is not local
[INFO] [stdout]      | |__`PythonObjectFromPyClassMacro` is not local
[INFO] [stdout]      |    move the `impl` block outside of this associated function `create_instance`
[INFO] [stdout]      |
[INFO] [stdout]      = note: the macro `$crate::py_class_impl` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]      = note: the macro `$crate::py_class_impl` may come from an old version of the `cpython` crate, try updating your dependency with `cargo update -p cpython`
[INFO] [stdout]      = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = note: this warning originates in the macro `$crate::py_class_impl` which comes from the expansion of the macro `py_class` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]     --> tests/test_class.rs:1043:1
[INFO] [stdout]      |
[INFO] [stdout] 1043 | / py_class!(class InPlaceOperations |py| {
[INFO] [stdout] 1044 | |     data value: Cell<u32>;
[INFO] [stdout] 1045 | |
[INFO] [stdout] 1046 | |     def __repr__(&self) -> PyResult<String> {
[INFO] [stdout] ...    |
[INFO] [stdout] 1089 | | });
[INFO] [stdout]      | |  ^
[INFO] [stdout]      | |  |
[INFO] [stdout]      | |  `InPlaceOperations` is not local
[INFO] [stdout]      | |__`PythonObjectWithTypeObject` is not local
[INFO] [stdout]      |    move the `impl` block outside of this associated function `create_instance`
[INFO] [stdout]      |
[INFO] [stdout]      = note: the macro `$crate::py_class_impl` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]      = note: the macro `$crate::py_class_impl` may come from an old version of the `cpython` crate, try updating your dependency with `cargo update -p cpython`
[INFO] [stdout]      = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = note: this warning originates in the macro `$crate::py_class_impl` which comes from the expansion of the macro `py_class` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]     --> tests/test_class.rs:1043:1
[INFO] [stdout]      |
[INFO] [stdout] 1043 | / py_class!(class InPlaceOperations |py| {
[INFO] [stdout] 1044 | |     data value: Cell<u32>;
[INFO] [stdout] 1045 | |
[INFO] [stdout] 1046 | |     def __repr__(&self) -> PyResult<String> {
[INFO] [stdout] ...    |
[INFO] [stdout] 1089 | | });
[INFO] [stdout]      | |  ^
[INFO] [stdout]      | |  |
[INFO] [stdout]      | |  `InPlaceOperations` is not local
[INFO] [stdout]      | |__`PythonObjectFromPyClassMacro` is not local
[INFO] [stdout]      |    move the `impl` block outside of this associated function `create_instance`
[INFO] [stdout]      |
[INFO] [stdout]      = note: the macro `$crate::py_class_impl` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]      = note: the macro `$crate::py_class_impl` may come from an old version of the `cpython` crate, try updating your dependency with `cargo update -p cpython`
[INFO] [stdout]      = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = note: this warning originates in the macro `$crate::py_class_impl` which comes from the expansion of the macro `py_class` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]     --> tests/test_class.rs:1153:1
[INFO] [stdout]      |
[INFO] [stdout] 1153 | / py_class!(class InPlaceOperationsRef |py| {
[INFO] [stdout] 1154 | |     data value: RefCell<String>;
[INFO] [stdout] 1155 | |
[INFO] [stdout] 1156 | |     def __repr__(&self) -> PyResult<String> {
[INFO] [stdout] ...    |
[INFO] [stdout] 1165 | | });
[INFO] [stdout]      | |  ^
[INFO] [stdout]      | |  |
[INFO] [stdout]      | |  `InPlaceOperationsRef` is not local
[INFO] [stdout]      | |__`PythonObjectWithTypeObject` is not local
[INFO] [stdout]      |    move the `impl` block outside of this associated function `create_instance`
[INFO] [stdout]      |
[INFO] [stdout]      = note: the macro `$crate::py_class_impl` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]      = note: the macro `$crate::py_class_impl` may come from an old version of the `cpython` crate, try updating your dependency with `cargo update -p cpython`
[INFO] [stdout]      = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = note: this warning originates in the macro `$crate::py_class_impl` which comes from the expansion of the macro `py_class` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]     --> tests/test_class.rs:1153:1
[INFO] [stdout]      |
[INFO] [stdout] 1153 | / py_class!(class InPlaceOperationsRef |py| {
[INFO] [stdout] 1154 | |     data value: RefCell<String>;
[INFO] [stdout] 1155 | |
[INFO] [stdout] 1156 | |     def __repr__(&self) -> PyResult<String> {
[INFO] [stdout] ...    |
[INFO] [stdout] 1165 | | });
[INFO] [stdout]      | |  ^
[INFO] [stdout]      | |  |
[INFO] [stdout]      | |  `InPlaceOperationsRef` is not local
[INFO] [stdout]      | |__`PythonObjectFromPyClassMacro` is not local
[INFO] [stdout]      |    move the `impl` block outside of this associated function `create_instance`
[INFO] [stdout]      |
[INFO] [stdout]      = note: the macro `$crate::py_class_impl` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]      = note: the macro `$crate::py_class_impl` may come from an old version of the `cpython` crate, try updating your dependency with `cargo update -p cpython`
[INFO] [stdout]      = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = note: this warning originates in the macro `$crate::py_class_impl` which comes from the expansion of the macro `py_class` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]     --> tests/test_class.rs:1180:1
[INFO] [stdout]      |
[INFO] [stdout] 1180 | / py_class!(class ContextManager |py| {
[INFO] [stdout] 1181 | |     data exit_called : Cell<bool>;
[INFO] [stdout] 1182 | |
[INFO] [stdout] 1183 | |     def __enter__(&self) -> PyResult<i32> {
[INFO] [stdout] ...    |
[INFO] [stdout] 1195 | | });
[INFO] [stdout]      | |  ^
[INFO] [stdout]      | |  |
[INFO] [stdout]      | |  `ContextManager` is not local
[INFO] [stdout]      | |__`PythonObjectWithTypeObject` is not local
[INFO] [stdout]      |    move the `impl` block outside of this associated function `create_instance`
[INFO] [stdout]      |
[INFO] [stdout]      = note: the macro `$crate::py_class_impl` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]      = note: the macro `$crate::py_class_impl` may come from an old version of the `cpython` crate, try updating your dependency with `cargo update -p cpython`
[INFO] [stdout]      = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = note: this warning originates in the macro `$crate::py_class_impl` which comes from the expansion of the macro `py_class` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]     --> tests/test_class.rs:1180:1
[INFO] [stdout]      |
[INFO] [stdout] 1180 | / py_class!(class ContextManager |py| {
[INFO] [stdout] 1181 | |     data exit_called : Cell<bool>;
[INFO] [stdout] 1182 | |
[INFO] [stdout] 1183 | |     def __enter__(&self) -> PyResult<i32> {
[INFO] [stdout] ...    |
[INFO] [stdout] 1195 | | });
[INFO] [stdout]      | |  ^
[INFO] [stdout]      | |  |
[INFO] [stdout]      | |  `ContextManager` is not local
[INFO] [stdout]      | |__`PythonObjectFromPyClassMacro` is not local
[INFO] [stdout]      |    move the `impl` block outside of this associated function `create_instance`
[INFO] [stdout]      |
[INFO] [stdout]      = note: the macro `$crate::py_class_impl` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]      = note: the macro `$crate::py_class_impl` may come from an old version of the `cpython` crate, try updating your dependency with `cargo update -p cpython`
[INFO] [stdout]      = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = note: this warning originates in the macro `$crate::py_class_impl` which comes from the expansion of the macro `py_class` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]     --> tests/test_class.rs:1220:1
[INFO] [stdout]      |
[INFO] [stdout] 1220 | / py_class!(class Properties |py| {
[INFO] [stdout] 1221 | |     data value: Cell<i32>;
[INFO] [stdout] 1222 | |     data value_by_ref: RefCell<String>;
[INFO] [stdout] 1223 | |     data value_by_opt_ref: RefCell<String>;
[INFO] [stdout] ...    |
[INFO] [stdout] 1264 | | });
[INFO] [stdout]      | |  ^
[INFO] [stdout]      | |  |
[INFO] [stdout]      | |  `Properties` is not local
[INFO] [stdout]      | |__`PythonObjectWithTypeObject` is not local
[INFO] [stdout]      |    move the `impl` block outside of this associated function `create_instance`
[INFO] [stdout]      |
[INFO] [stdout]      = note: the macro `$crate::py_class_impl` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]      = note: the macro `$crate::py_class_impl` may come from an old version of the `cpython` crate, try updating your dependency with `cargo update -p cpython`
[INFO] [stdout]      = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = note: this warning originates in the macro `$crate::py_class_impl` which comes from the expansion of the macro `py_class` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]     --> tests/test_class.rs:1220:1
[INFO] [stdout]      |
[INFO] [stdout] 1220 | / py_class!(class Properties |py| {
[INFO] [stdout] 1221 | |     data value: Cell<i32>;
[INFO] [stdout] 1222 | |     data value_by_ref: RefCell<String>;
[INFO] [stdout] 1223 | |     data value_by_opt_ref: RefCell<String>;
[INFO] [stdout] ...    |
[INFO] [stdout] 1264 | | });
[INFO] [stdout]      | |  ^
[INFO] [stdout]      | |  |
[INFO] [stdout]      | |  `Properties` is not local
[INFO] [stdout]      | |__`PythonObjectFromPyClassMacro` is not local
[INFO] [stdout]      |    move the `impl` block outside of this associated function `create_instance`
[INFO] [stdout]      |
[INFO] [stdout]      = note: the macro `$crate::py_class_impl` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]      = note: the macro `$crate::py_class_impl` may come from an old version of the `cpython` crate, try updating your dependency with `cargo update -p cpython`
[INFO] [stdout]      = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = note: this warning originates in the macro `$crate::py_class_impl` which comes from the expansion of the macro `py_class` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]     --> tests/test_class.rs:1308:1
[INFO] [stdout]      |
[INFO] [stdout] 1308 | / py_class!(pub(crate) class ClassWithVisibility |py| {
[INFO] [stdout] 1309 | |   pub(crate) def __new__(_cls) -> PyResult<Self> {
[INFO] [stdout] 1310 | |     Self::create_instance(py)
[INFO] [stdout] ...    |
[INFO] [stdout] 1326 | | });
[INFO] [stdout]      | |  ^
[INFO] [stdout]      | |  |
[INFO] [stdout]      | |  `ClassWithVisibility` is not local
[INFO] [stdout]      | |__`PythonObjectWithTypeObject` is not local
[INFO] [stdout]      |    move the `impl` block outside of this associated function `create_instance`
[INFO] [stdout]      |
[INFO] [stdout]      = note: the macro `$crate::py_class_impl` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]      = note: the macro `$crate::py_class_impl` may come from an old version of the `cpython` crate, try updating your dependency with `cargo update -p cpython`
[INFO] [stdout]      = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = note: this warning originates in the macro `$crate::py_class_impl` which comes from the expansion of the macro `py_class` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]     --> tests/test_class.rs:1308:1
[INFO] [stdout]      |
[INFO] [stdout] 1308 | / py_class!(pub(crate) class ClassWithVisibility |py| {
[INFO] [stdout] 1309 | |   pub(crate) def __new__(_cls) -> PyResult<Self> {
[INFO] [stdout] 1310 | |     Self::create_instance(py)
[INFO] [stdout] ...    |
[INFO] [stdout] 1326 | | });
[INFO] [stdout]      | |  ^
[INFO] [stdout]      | |  |
[INFO] [stdout]      | |  `ClassWithVisibility` is not local
[INFO] [stdout]      | |__`PythonObjectFromPyClassMacro` is not local
[INFO] [stdout]      |    move the `impl` block outside of this associated function `create_instance`
[INFO] [stdout]      |
[INFO] [stdout]      = note: the macro `$crate::py_class_impl` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]      = note: the macro `$crate::py_class_impl` may come from an old version of the `cpython` crate, try updating your dependency with `cargo update -p cpython`
[INFO] [stdout]      = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = note: this warning originates in the macro `$crate::py_class_impl` which comes from the expansion of the macro `py_class` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]     --> tests/test_class.rs:1383:1
[INFO] [stdout]      |
[INFO] [stdout] 1383 | / py_class!(class NumberExt |py| {
[INFO] [stdout] 1384 | |     def __repr__(&self) -> PyResult<&'static str> {
[INFO] [stdout] 1385 | |         Ok("BA")
[INFO] [stdout] ...    |
[INFO] [stdout] 1403 | | });
[INFO] [stdout]      | |  ^
[INFO] [stdout]      | |  |
[INFO] [stdout]      | |  `NumberExt` is not local
[INFO] [stdout]      | |__`PythonObjectWithTypeObject` is not local
[INFO] [stdout]      |    move the `impl` block outside of this associated function `create_instance`
[INFO] [stdout]      |
[INFO] [stdout]      = note: the macro `$crate::py_class_impl` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]      = note: the macro `$crate::py_class_impl` may come from an old version of the `cpython` crate, try updating your dependency with `cargo update -p cpython`
[INFO] [stdout]      = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = note: this warning originates in the macro `$crate::py_class_impl` which comes from the expansion of the macro `py_class` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]     --> tests/test_class.rs:1383:1
[INFO] [stdout]      |
[INFO] [stdout] 1383 | / py_class!(class NumberExt |py| {
[INFO] [stdout] 1384 | |     def __repr__(&self) -> PyResult<&'static str> {
[INFO] [stdout] 1385 | |         Ok("BA")
[INFO] [stdout] ...    |
[INFO] [stdout] 1403 | | });
[INFO] [stdout]      | |  ^
[INFO] [stdout]      | |  |
[INFO] [stdout]      | |  `NumberExt` is not local
[INFO] [stdout]      | |__`PythonObjectFromPyClassMacro` is not local
[INFO] [stdout]      |    move the `impl` block outside of this associated function `create_instance`
[INFO] [stdout]      |
[INFO] [stdout]      = note: the macro `$crate::py_class_impl` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]      = note: the macro `$crate::py_class_impl` may come from an old version of the `cpython` crate, try updating your dependency with `cargo update -p cpython`
[INFO] [stdout]      = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = note: this warning originates in the macro `$crate::py_class_impl` which comes from the expansion of the macro `py_class` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]     --> tests/test_class.rs:1427:1
[INFO] [stdout]      |
[INFO] [stdout] 1427 | / py_class!(class Py3Number |py| {
[INFO] [stdout] 1428 | |     def __repr__(&self) -> PyResult<&'static str> {
[INFO] [stdout] 1429 | |         Ok("BA")
[INFO] [stdout] ...    |
[INFO] [stdout] 1443 | | });
[INFO] [stdout]      | |  ^
[INFO] [stdout]      | |  |
[INFO] [stdout]      | |  `Py3Number` is not local
[INFO] [stdout]      | |__`PythonObjectWithTypeObject` is not local
[INFO] [stdout]      |    move the `impl` block outside of this associated function `create_instance`
[INFO] [stdout]      |
[INFO] [stdout]      = note: the macro `$crate::py_class_impl` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]      = note: the macro `$crate::py_class_impl` may come from an old version of the `cpython` crate, try updating your dependency with `cargo update -p cpython`
[INFO] [stdout]      = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = note: this warning originates in the macro `$crate::py_class_impl` which comes from the expansion of the macro `py_class` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]     --> tests/test_class.rs:1427:1
[INFO] [stdout]      |
[INFO] [stdout] 1427 | / py_class!(class Py3Number |py| {
[INFO] [stdout] 1428 | |     def __repr__(&self) -> PyResult<&'static str> {
[INFO] [stdout] 1429 | |         Ok("BA")
[INFO] [stdout] ...    |
[INFO] [stdout] 1443 | | });
[INFO] [stdout]      | |  ^
[INFO] [stdout]      | |  |
[INFO] [stdout]      | |  `Py3Number` is not local
[INFO] [stdout]      | |__`PythonObjectFromPyClassMacro` is not local
[INFO] [stdout]      |    move the `impl` block outside of this associated function `create_instance`
[INFO] [stdout]      |
[INFO] [stdout]      = note: the macro `$crate::py_class_impl` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]      = note: the macro `$crate::py_class_impl` may come from an old version of the `cpython` crate, try updating your dependency with `cargo update -p cpython`
[INFO] [stdout]      = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = note: this warning originates in the macro `$crate::py_class_impl` which comes from the expansion of the macro `py_class` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]     --> tests/test_class.rs:1464:1
[INFO] [stdout]      |
[INFO] [stdout] 1464 | / py_class!(class DummyMatMul |py| {
[INFO] [stdout] 1465 | |     data number: i32;
[INFO] [stdout] 1466 | |     def __new__(_cls, arg: i32) -> PyResult<DummyMatMul> {
[INFO] [stdout] 1467 | |         DummyMatMul::create_instance(py, arg)
[INFO] [stdout] ...    |
[INFO] [stdout] 1477 | | });
[INFO] [stdout]      | |  ^
[INFO] [stdout]      | |  |
[INFO] [stdout]      | |  `DummyMatMul` is not local
[INFO] [stdout]      | |__`PythonObjectWithTypeObject` is not local
[INFO] [stdout]      |    move the `impl` block outside of this associated function `create_instance`
[INFO] [stdout]      |
[INFO] [stdout]      = note: the macro `$crate::py_class_impl` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]      = note: the macro `$crate::py_class_impl` may come from an old version of the `cpython` crate, try updating your dependency with `cargo update -p cpython`
[INFO] [stdout]      = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = note: this warning originates in the macro `$crate::py_class_impl` which comes from the expansion of the macro `py_class` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]     --> tests/test_class.rs:1464:1
[INFO] [stdout]      |
[INFO] [stdout] 1464 | / py_class!(class DummyMatMul |py| {
[INFO] [stdout] 1465 | |     data number: i32;
[INFO] [stdout] 1466 | |     def __new__(_cls, arg: i32) -> PyResult<DummyMatMul> {
[INFO] [stdout] 1467 | |         DummyMatMul::create_instance(py, arg)
[INFO] [stdout] ...    |
[INFO] [stdout] 1477 | | });
[INFO] [stdout]      | |  ^
[INFO] [stdout]      | |  |
[INFO] [stdout]      | |  `DummyMatMul` is not local
[INFO] [stdout]      | |__`PythonObjectFromPyClassMacro` is not local
[INFO] [stdout]      |    move the `impl` block outside of this associated function `create_instance`
[INFO] [stdout]      |
[INFO] [stdout]      = note: the macro `$crate::py_class_impl` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]      = note: the macro `$crate::py_class_impl` may come from an old version of the `cpython` crate, try updating your dependency with `cargo update -p cpython`
[INFO] [stdout]      = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = note: this warning originates in the macro `$crate::py_class_impl` which comes from the expansion of the macro `py_class` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 14.17s
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2018 edition to 2021
[INFO] [stderr]     Checking cpython v0.7.2 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating src/lib.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed src/objects/tuple.rs (1 fix)
[INFO] [stderr]        Fixed src/objects/mod.rs (1 fix)
[INFO] [stderr]        Fixed src/objects/num.rs (2 fixes)
[INFO] [stderr]        Fixed src/py_class/slots.rs (28 fixes)
[INFO] [stderr]        Fixed src/objectprotocol.rs (1 fix)
[INFO] [stderr]        Fixed src/objects/capsule.rs (3 fixes)
[INFO] [stderr]        Fixed src/argparse.rs (37 fixes)
[INFO] [stderr]        Fixed src/objects/module.rs (1 fix)
[INFO] [stderr]        Fixed src/py_class/gc.rs (3 fixes)
[INFO] [stderr]        Fixed src/err.rs (5 fixes)
[INFO] [stderr]        Fixed src/objects/object.rs (8 fixes)
[INFO] [stderr]        Fixed src/py_class/py_class_impl3.rs (114 fixes)
[INFO] [stderr]        Fixed src/objects/typeobject.rs (1 fix)
[INFO] [stderr]        Fixed src/py_class/mod.rs (5 fixes)
[INFO] [stderr]        Fixed src/function.rs (11 fixes)
[INFO] [stderr]        Fixed src/objects/string.rs (1 fix)
[INFO] [stderr]        Fixed src/py_class/members.rs (6 fixes)
[INFO] [stderr]        Fixed src/lib.rs (4 fixes)
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/objects/mod.rs:119:85
[INFO] [stdout]     |
[INFO] [stdout] 119 |                 unsafe { crate::objects::typeobject::PyType::from_type_ptr(py, &mut crate::ffi::$typeobject) }
[INFO] [stdout]     |                                                                                     ^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/objects/boolobject.rs:10:1
[INFO] [stdout]     |
[INFO] [stdout]  10 | pyobject_newtype!(PyBool, PyBool_Check, PyBool_Type);
[INFO] [stdout]     | ---------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: `--force-warn static-mut-refs` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout]     = note: this warning originates in the macro `pyobject_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/objects/mod.rs:119:85
[INFO] [stdout]     |
[INFO] [stdout] 119 |                 unsafe { crate::objects::typeobject::PyType::from_type_ptr(py, &mut crate::ffi::$typeobject) }
[INFO] [stdout]     |                                                                                     ^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/objects/capsule.rs:190:1
[INFO] [stdout]     |
[INFO] [stdout] 190 | pyobject_newtype!(PyCapsule, PyCapsule_CheckExact, PyCapsule_Type);
[INFO] [stdout]     | ------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: this warning originates in the macro `pyobject_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/objects/mod.rs:119:85
[INFO] [stdout]     |
[INFO] [stdout] 119 |                 unsafe { crate::objects::typeobject::PyType::from_type_ptr(py, &mut crate::ffi::$typeobject) }
[INFO] [stdout]     |                                                                                     ^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/objects/dict.rs:30:1
[INFO] [stdout]     |
[INFO] [stdout]  30 | pyobject_newtype!(PyDict, PyDict_Check, PyDict_Type);
[INFO] [stdout]     | ---------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: this warning originates in the macro `pyobject_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/objects/mod.rs:119:85
[INFO] [stdout]     |
[INFO] [stdout] 119 |                 unsafe { crate::objects::typeobject::PyType::from_type_ptr(py, &mut crate::ffi::$typeobject) }
[INFO] [stdout]     |                                                                                     ^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/objects/list.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 | pyobject_newtype!(PyList, PyList_Check, PyList_Type);
[INFO] [stdout]     | ---------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: this warning originates in the macro `pyobject_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/objects/mod.rs:119:85
[INFO] [stdout]     |
[INFO] [stdout] 119 |                 unsafe { crate::objects::typeobject::PyType::from_type_ptr(py, &mut crate::ffi::$typeobject) }
[INFO] [stdout]     |                                                                                     ^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/objects/module.rs:33:1
[INFO] [stdout]     |
[INFO] [stdout]  33 | pyobject_newtype!(PyModule, PyModule_Check, PyModule_Type);
[INFO] [stdout]     | ---------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: this warning originates in the macro `pyobject_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/objects/mod.rs:119:85
[INFO] [stdout]     |
[INFO] [stdout] 119 |                 unsafe { crate::objects::typeobject::PyType::from_type_ptr(py, &mut crate::ffi::$typeobject) }
[INFO] [stdout]     |                                                                                     ^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/objects/num.rs:56:1
[INFO] [stdout]     |
[INFO] [stdout]  56 | pyobject_newtype!(PyLong, PyLong_Check, PyLong_Type);
[INFO] [stdout]     | ---------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: this warning originates in the macro `pyobject_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/objects/mod.rs:119:85
[INFO] [stdout]     |
[INFO] [stdout] 119 |                 unsafe { crate::objects::typeobject::PyType::from_type_ptr(py, &mut crate::ffi::$typeobject) }
[INFO] [stdout]     |                                                                                     ^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/objects/num.rs:65:1
[INFO] [stdout]     |
[INFO] [stdout]  65 | pyobject_newtype!(PyFloat, PyFloat_Check, PyFloat_Type);
[INFO] [stdout]     | ------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: this warning originates in the macro `pyobject_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/objects/object.rs:113:44
[INFO] [stdout]     |
[INFO] [stdout] 113 |         unsafe { PyType::from_type_ptr(py, &mut ffi::PyBaseObject_Type) }
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 113 |         unsafe { PyType::from_type_ptr(py, &raw mut ffi::PyBaseObject_Type) }
[INFO] [stdout]     |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/objects/mod.rs:119:85
[INFO] [stdout]     |
[INFO] [stdout] 119 |                 unsafe { crate::objects::typeobject::PyType::from_type_ptr(py, &mut crate::ffi::$typeobject) }
[INFO] [stdout]     |                                                                                     ^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/objects/set.rs:30:1
[INFO] [stdout]     |
[INFO] [stdout]  30 | pyobject_newtype!(PySet, PySet_Check, PySet_Type);
[INFO] [stdout]     | ------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: this warning originates in the macro `pyobject_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/objects/mod.rs:119:85
[INFO] [stdout]     |
[INFO] [stdout] 119 |                 unsafe { crate::objects::typeobject::PyType::from_type_ptr(py, &mut crate::ffi::$typeobject) }
[INFO] [stdout]     |                                                                                     ^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/objects/string.rs:36:1
[INFO] [stdout]     |
[INFO] [stdout]  36 | pyobject_newtype!(PyString, PyUnicode_Check, PyUnicode_Type);
[INFO] [stdout]     | ------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: this warning originates in the macro `pyobject_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/objects/mod.rs:119:85
[INFO] [stdout]     |
[INFO] [stdout] 119 |                 unsafe { crate::objects::typeobject::PyType::from_type_ptr(py, &mut crate::ffi::$typeobject) }
[INFO] [stdout]     |                                                                                     ^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/objects/string.rs:42:1
[INFO] [stdout]     |
[INFO] [stdout]  42 | pyobject_newtype!(PyBytes, PyBytes_Check, PyBytes_Type);
[INFO] [stdout]     | ------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: this warning originates in the macro `pyobject_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/objects/mod.rs:119:85
[INFO] [stdout]     |
[INFO] [stdout] 119 |                 unsafe { crate::objects::typeobject::PyType::from_type_ptr(py, &mut crate::ffi::$typeobject) }
[INFO] [stdout]     |                                                                                     ^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/objects/tuple.rs:31:1
[INFO] [stdout]     |
[INFO] [stdout]  31 | pyobject_newtype!(PyTuple, PyTuple_Check, PyTuple_Type);
[INFO] [stdout]     | ------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: this warning originates in the macro `pyobject_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/objects/mod.rs:119:85
[INFO] [stdout]     |
[INFO] [stdout] 119 |                 unsafe { crate::objects::typeobject::PyType::from_type_ptr(py, &mut crate::ffi::$typeobject) }
[INFO] [stdout]     |                                                                                     ^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/objects/typeobject.rs:31:1
[INFO] [stdout]     |
[INFO] [stdout]  31 | pyobject_newtype!(PyType, PyType_Check, PyType_Type);
[INFO] [stdout]     | ---------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: this warning originates in the macro `pyobject_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating examples/hello.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/argparse.rs:366:15
[INFO] [stdout]     |
[INFO] [stdout] 365 |           let mut output = [$( $crate::py_replace_expr!($pname None) ),*];
[INFO] [stdout]     |               ----------
[INFO] [stdout]     |               |
[INFO] [stdout]     |               `output` calls a custom destructor
[INFO] [stdout]     |               `output` will be dropped later as of Edition 2024
[INFO] [stdout] 366 |           match $crate::argparse::parse_args(py, $fname, PARAMS, $args, $kwargs, &mut output) {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                 up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 565 | /         py_argparse!(py, None, &tuple, None, (x: &str, y: i32) {
[INFO] [stdout] 566 | |             assert_eq!(x, "abc");
[INFO] [stdout] 567 | |             assert_eq!(y, 42);
[INFO] [stdout] 568 | |             called = true;
[INFO] [stdout] 569 | |             Ok(())
[INFO] [stdout] 570 | |         })
[INFO] [stdout]     | |__________- in this macro invocation
[INFO] [stdout] 571 |           .unwrap();
[INFO] [stdout]     |                    - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/objects/object.rs:61:1
[INFO] [stdout]     |
[INFO] [stdout]  61 | impl Drop for PyObject {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `output` invokes this custom destructor
[INFO] [stdout]    --> src/objects/object.rs:61:1
[INFO] [stdout]     |
[INFO] [stdout]  61 | impl Drop for PyObject {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::py_argparse_impl` which comes from the expansion of the macro `py_argparse` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/argparse.rs:366:15
[INFO] [stdout]     |
[INFO] [stdout] 365 |           let mut output = [$( $crate::py_replace_expr!($pname None) ),*];
[INFO] [stdout]     |               ----------
[INFO] [stdout]     |               |
[INFO] [stdout]     |               `output` calls a custom destructor
[INFO] [stdout]     |               `output` will be dropped later as of Edition 2024
[INFO] [stdout] 366 |           match $crate::argparse::parse_args(py, $fname, PARAMS, $args, $kwargs, &mut output) {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                 up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 581 | /         py_argparse!(py, None, &tuple, None, (x) {
[INFO] [stdout] 582 | |             assert_eq!(*x, tuple.get_item(py, 0));
[INFO] [stdout] 583 | |             called = true;
[INFO] [stdout] 584 | |             Ok(())
[INFO] [stdout] 585 | |         })
[INFO] [stdout]     | |__________- in this macro invocation
[INFO] [stdout] 586 |           .unwrap();
[INFO] [stdout]     |                    - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/objects/object.rs:61:1
[INFO] [stdout]     |
[INFO] [stdout]  61 | impl Drop for PyObject {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `output` invokes this custom destructor
[INFO] [stdout]    --> src/objects/object.rs:61:1
[INFO] [stdout]     |
[INFO] [stdout]  61 | impl Drop for PyObject {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `$crate::py_argparse_impl` which comes from the expansion of the macro `py_argparse` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/argparse.rs:366:15
[INFO] [stdout]     |
[INFO] [stdout] 365 |           let mut output = [$( $crate::py_replace_expr!($pname None) ),*];
[INFO] [stdout]     |               ----------
[INFO] [stdout]     |               |
[INFO] [stdout]     |               `output` calls a custom destructor
[INFO] [stdout]     |               `output` will be dropped later as of Edition 2024
[INFO] [stdout] 366 |           match $crate::argparse::parse_args(py, $fname, PARAMS, $args, $kwargs, &mut output) {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                 up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 596 | /         py_argparse!(py, None, &tuple, None, (x: usize = 42, y: &str = "abc") {
[INFO] [stdout] 597 | |             assert_eq!(x, 0);
[INFO] [stdout] 598 | |             assert_eq!(y, "foo");
[INFO] [stdout] 599 | |             called = true;
[INFO] [stdout] 600 | |             Ok(())
[INFO] [stdout] 601 | |         })
[INFO] [stdout]     | |__________- in this macro invocation
[INFO] [stdout] 602 |           .unwrap();
[INFO] [stdout]     |                    - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/objects/object.rs:61:1
[INFO] [stdout]     |
[INFO] [stdout]  61 | impl Drop for PyObject {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `output` invokes this custom destructor
[INFO] [stdout]    --> src/objects/object.rs:61:1
[INFO] [stdout]     |
[INFO] [stdout]  61 | impl Drop for PyObject {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `$crate::py_argparse_impl` which comes from the expansion of the macro `py_argparse` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/argparse.rs:366:15
[INFO] [stdout]     |
[INFO] [stdout] 365 |           let mut output = [$( $crate::py_replace_expr!($pname None) ),*];
[INFO] [stdout]     |               ----------
[INFO] [stdout]     |               |
[INFO] [stdout]     |               `output` calls a custom destructor
[INFO] [stdout]     |               `output` will be dropped later as of Edition 2024
[INFO] [stdout] 366 |           match $crate::argparse::parse_args(py, $fname, PARAMS, $args, $kwargs, &mut output) {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                 up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 607 | /         py_argparse!(py, None, &tuple, None, (x: usize = 42, y: &str = "abc") {
[INFO] [stdout] 608 | |             assert_eq!(x, 42);
[INFO] [stdout] 609 | |             assert_eq!(y, "abc");
[INFO] [stdout] 610 | |             called = true;
[INFO] [stdout] 611 | |             Ok(())
[INFO] [stdout] 612 | |         })
[INFO] [stdout]     | |__________- in this macro invocation
[INFO] [stdout] 613 |           .unwrap();
[INFO] [stdout]     |                    - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/objects/object.rs:61:1
[INFO] [stdout]     |
[INFO] [stdout]  61 | impl Drop for PyObject {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `output` invokes this custom destructor
[INFO] [stdout]    --> src/objects/object.rs:61:1
[INFO] [stdout]     |
[INFO] [stdout]  61 | impl Drop for PyObject {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `$crate::py_argparse_impl` which comes from the expansion of the macro `py_argparse` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/objects/mod.rs:119:85
[INFO] [stdout]     |
[INFO] [stdout] 119 |                 unsafe { crate::objects::typeobject::PyType::from_type_ptr(py, &mut crate::ffi::$typeobject) }
[INFO] [stdout]     |                                                                                     ^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/objects/boolobject.rs:10:1
[INFO] [stdout]     |
[INFO] [stdout]  10 | pyobject_newtype!(PyBool, PyBool_Check, PyBool_Type);
[INFO] [stdout]     | ---------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: `--force-warn static-mut-refs` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout]     = note: this warning originates in the macro `pyobject_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/objects/mod.rs:119:85
[INFO] [stdout]     |
[INFO] [stdout] 119 |                 unsafe { crate::objects::typeobject::PyType::from_type_ptr(py, &mut crate::ffi::$typeobject) }
[INFO] [stdout]     |                                                                                     ^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/objects/capsule.rs:190:1
[INFO] [stdout]     |
[INFO] [stdout] 190 | pyobject_newtype!(PyCapsule, PyCapsule_CheckExact, PyCapsule_Type);
[INFO] [stdout]     | ------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: this warning originates in the macro `pyobject_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/objects/mod.rs:119:85
[INFO] [stdout]     |
[INFO] [stdout] 119 |                 unsafe { crate::objects::typeobject::PyType::from_type_ptr(py, &mut crate::ffi::$typeobject) }
[INFO] [stdout]     |                                                                                     ^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/objects/dict.rs:30:1
[INFO] [stdout]     |
[INFO] [stdout]  30 | pyobject_newtype!(PyDict, PyDict_Check, PyDict_Type);
[INFO] [stdout]     | ---------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: this warning originates in the macro `pyobject_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/objects/mod.rs:119:85
[INFO] [stdout]     |
[INFO] [stdout] 119 |                 unsafe { crate::objects::typeobject::PyType::from_type_ptr(py, &mut crate::ffi::$typeobject) }
[INFO] [stdout]     |                                                                                     ^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/objects/list.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 | pyobject_newtype!(PyList, PyList_Check, PyList_Type);
[INFO] [stdout]     | ---------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: this warning originates in the macro `pyobject_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/objects/mod.rs:119:85
[INFO] [stdout]     |
[INFO] [stdout] 119 |                 unsafe { crate::objects::typeobject::PyType::from_type_ptr(py, &mut crate::ffi::$typeobject) }
[INFO] [stdout]     |                                                                                     ^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/objects/module.rs:33:1
[INFO] [stdout]     |
[INFO] [stdout]  33 | pyobject_newtype!(PyModule, PyModule_Check, PyModule_Type);
[INFO] [stdout]     | ---------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: this warning originates in the macro `pyobject_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/objects/mod.rs:119:85
[INFO] [stdout]     |
[INFO] [stdout] 119 |                 unsafe { crate::objects::typeobject::PyType::from_type_ptr(py, &mut crate::ffi::$typeobject) }
[INFO] [stdout]     |                                                                                     ^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/objects/num.rs:56:1
[INFO] [stdout]     |
[INFO] [stdout]  56 | pyobject_newtype!(PyLong, PyLong_Check, PyLong_Type);
[INFO] [stdout]     | ---------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: this warning originates in the macro `pyobject_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/objects/mod.rs:119:85
[INFO] [stdout]     |
[INFO] [stdout] 119 |                 unsafe { crate::objects::typeobject::PyType::from_type_ptr(py, &mut crate::ffi::$typeobject) }
[INFO] [stdout]     |                                                                                     ^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/objects/num.rs:65:1
[INFO] [stdout]     |
[INFO] [stdout]  65 | pyobject_newtype!(PyFloat, PyFloat_Check, PyFloat_Type);
[INFO] [stdout]     | ------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: this warning originates in the macro `pyobject_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/objects/object.rs:113:44
[INFO] [stdout]     |
[INFO] [stdout] 113 |         unsafe { PyType::from_type_ptr(py, &mut ffi::PyBaseObject_Type) }
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 113 |         unsafe { PyType::from_type_ptr(py, &raw mut ffi::PyBaseObject_Type) }
[INFO] [stdout]     |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/objects/mod.rs:119:85
[INFO] [stdout]     |
[INFO] [stdout] 119 |                 unsafe { crate::objects::typeobject::PyType::from_type_ptr(py, &mut crate::ffi::$typeobject) }
[INFO] [stdout]     |                                                                                     ^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/objects/set.rs:30:1
[INFO] [stdout]     |
[INFO] [stdout]  30 | pyobject_newtype!(PySet, PySet_Check, PySet_Type);
[INFO] [stdout]     | ------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: this warning originates in the macro `pyobject_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/objects/mod.rs:119:85
[INFO] [stdout]     |
[INFO] [stdout] 119 |                 unsafe { crate::objects::typeobject::PyType::from_type_ptr(py, &mut crate::ffi::$typeobject) }
[INFO] [stdout]     |                                                                                     ^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/objects/string.rs:36:1
[INFO] [stdout]     |
[INFO] [stdout]  36 | pyobject_newtype!(PyString, PyUnicode_Check, PyUnicode_Type);
[INFO] [stdout]     | ------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: this warning originates in the macro `pyobject_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/objects/mod.rs:119:85
[INFO] [stdout]     |
[INFO] [stdout] 119 |                 unsafe { crate::objects::typeobject::PyType::from_type_ptr(py, &mut crate::ffi::$typeobject) }
[INFO] [stdout]     |                                                                                     ^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/objects/string.rs:42:1
[INFO] [stdout]     |
[INFO] [stdout]  42 | pyobject_newtype!(PyBytes, PyBytes_Check, PyBytes_Type);
[INFO] [stdout]     | ------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: this warning originates in the macro `pyobject_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/objects/mod.rs:119:85
[INFO] [stdout]     |
[INFO] [stdout] 119 |                 unsafe { crate::objects::typeobject::PyType::from_type_ptr(py, &mut crate::ffi::$typeobject) }
[INFO] [stdout]     |                                                                                     ^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/objects/tuple.rs:31:1
[INFO] [stdout]     |
[INFO] [stdout]  31 | pyobject_newtype!(PyTuple, PyTuple_Check, PyTuple_Type);
[INFO] [stdout]     | ------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: this warning originates in the macro `pyobject_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/objects/mod.rs:119:85
[INFO] [stdout]     |
[INFO] [stdout] 119 |                 unsafe { crate::objects::typeobject::PyType::from_type_ptr(py, &mut crate::ffi::$typeobject) }
[INFO] [stdout]     |                                                                                     ^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/objects/typeobject.rs:31:1
[INFO] [stdout]     |
[INFO] [stdout]  31 | pyobject_newtype!(PyType, PyType_Check, PyType_Type);
[INFO] [stdout]     | ---------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: this warning originates in the macro `pyobject_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating tests/test_thread_exit.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/test_function.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/test_sharedref.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/test_class.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed tests/test_class.rs (6 fixes)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 20.75s
[INFO] [stderr] crater-edition-check: cpython v0.7.2 (/opt/rustwide/workdir) updating edition from 2021 to 2024
[INFO] [stderr]    Compiling cpython v0.7.2 (/opt/rustwide/workdir)
[INFO] [stdout] error: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/objects/mod.rs:119:85
[INFO] [stdout]     |
[INFO] [stdout] 119 |                 unsafe { crate::objects::typeobject::PyType::from_type_ptr(py, &mut crate::ffi::$typeobject) }
[INFO] [stdout]     |                                                                                     ^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/objects/boolobject.rs:10:1
[INFO] [stdout]     |
[INFO] [stdout]  10 | pyobject_newtype!(PyBool, PyBool_Check, PyBool_Type);
[INFO] [stdout]     | ---------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: `#[deny(static_mut_refs)]` (part of `#[deny(rust_2024_compatibility)]`) on by default
[INFO] [stdout]     = note: this error originates in the macro `pyobject_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/objects/mod.rs:119:85
[INFO] [stdout]     |
[INFO] [stdout] 119 |                 unsafe { crate::objects::typeobject::PyType::from_type_ptr(py, &mut crate::ffi::$typeobject) }
[INFO] [stdout]     |                                                                                     ^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/objects/capsule.rs:190:1
[INFO] [stdout]     |
[INFO] [stdout] 190 | pyobject_newtype!(PyCapsule, PyCapsule_CheckExact, PyCapsule_Type);
[INFO] [stdout]     | ------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: this error originates in the macro `pyobject_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/objects/mod.rs:119:85
[INFO] [stdout]     |
[INFO] [stdout] 119 |                 unsafe { crate::objects::typeobject::PyType::from_type_ptr(py, &mut crate::ffi::$typeobject) }
[INFO] [stdout]     |                                                                                     ^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/objects/dict.rs:30:1
[INFO] [stdout]     |
[INFO] [stdout]  30 | pyobject_newtype!(PyDict, PyDict_Check, PyDict_Type);
[INFO] [stdout]     | ---------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: this error originates in the macro `pyobject_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/objects/mod.rs:119:85
[INFO] [stdout]     |
[INFO] [stdout] 119 |                 unsafe { crate::objects::typeobject::PyType::from_type_ptr(py, &mut crate::ffi::$typeobject) }
[INFO] [stdout]     |                                                                                     ^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/objects/list.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 | pyobject_newtype!(PyList, PyList_Check, PyList_Type);
[INFO] [stdout]     | ---------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: this error originates in the macro `pyobject_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/objects/mod.rs:119:85
[INFO] [stdout]     |
[INFO] [stdout] 119 |                 unsafe { crate::objects::typeobject::PyType::from_type_ptr(py, &mut crate::ffi::$typeobject) }
[INFO] [stdout]     |                                                                                     ^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/objects/module.rs:33:1
[INFO] [stdout]     |
[INFO] [stdout]  33 | pyobject_newtype!(PyModule, PyModule_Check, PyModule_Type);
[INFO] [stdout]     | ---------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: this error originates in the macro `pyobject_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/objects/mod.rs:119:85
[INFO] [stdout]     |
[INFO] [stdout] 119 |                 unsafe { crate::objects::typeobject::PyType::from_type_ptr(py, &mut crate::ffi::$typeobject) }
[INFO] [stdout]     |                                                                                     ^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/objects/num.rs:56:1
[INFO] [stdout]     |
[INFO] [stdout]  56 | pyobject_newtype!(PyLong, PyLong_Check, PyLong_Type);
[INFO] [stdout]     | ---------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: this error originates in the macro `pyobject_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/objects/mod.rs:119:85
[INFO] [stdout]     |
[INFO] [stdout] 119 |                 unsafe { crate::objects::typeobject::PyType::from_type_ptr(py, &mut crate::ffi::$typeobject) }
[INFO] [stdout]     |                                                                                     ^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/objects/num.rs:65:1
[INFO] [stdout]     |
[INFO] [stdout]  65 | pyobject_newtype!(PyFloat, PyFloat_Check, PyFloat_Type);
[INFO] [stdout]     | ------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: this error originates in the macro `pyobject_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/objects/object.rs:113:44
[INFO] [stdout]     |
[INFO] [stdout] 113 |         unsafe { PyType::from_type_ptr(py, &mut ffi::PyBaseObject_Type) }
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 113 |         unsafe { PyType::from_type_ptr(py, &raw mut ffi::PyBaseObject_Type) }
[INFO] [stdout]     |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/objects/mod.rs:119:85
[INFO] [stdout]     |
[INFO] [stdout] 119 |                 unsafe { crate::objects::typeobject::PyType::from_type_ptr(py, &mut crate::ffi::$typeobject) }
[INFO] [stdout]     |                                                                                     ^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/objects/set.rs:30:1
[INFO] [stdout]     |
[INFO] [stdout]  30 | pyobject_newtype!(PySet, PySet_Check, PySet_Type);
[INFO] [stdout]     | ------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: this error originates in the macro `pyobject_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/objects/mod.rs:119:85
[INFO] [stdout]     |
[INFO] [stdout] 119 |                 unsafe { crate::objects::typeobject::PyType::from_type_ptr(py, &mut crate::ffi::$typeobject) }
[INFO] [stdout]     |                                                                                     ^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/objects/string.rs:36:1
[INFO] [stdout]     |
[INFO] [stdout]  36 | pyobject_newtype!(PyString, PyUnicode_Check, PyUnicode_Type);
[INFO] [stdout]     | ------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: this error originates in the macro `pyobject_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/objects/mod.rs:119:85
[INFO] [stdout]     |
[INFO] [stdout] 119 |                 unsafe { crate::objects::typeobject::PyType::from_type_ptr(py, &mut crate::ffi::$typeobject) }
[INFO] [stdout]     |                                                                                     ^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/objects/string.rs:42:1
[INFO] [stdout]     |
[INFO] [stdout]  42 | pyobject_newtype!(PyBytes, PyBytes_Check, PyBytes_Type);
[INFO] [stdout]     | ------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: this error originates in the macro `pyobject_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/objects/string.rs:270:17
[INFO] [stdout]     |
[INFO] [stdout] 270 |     pub fn data(&self, py: Python) -> PyStringData {
[INFO] [stdout]     |                 ^^^^^                 ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 270 |     pub fn data(&self, py: Python) -> PyStringData<'_> {
[INFO] [stdout]     |                                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/objects/string.rs:286:18
[INFO] [stdout]     |
[INFO] [stdout] 286 |     fn data_impl(&self, _py: Python) -> PyStringData {
[INFO] [stdout]     |                  ^^^^^                  ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 286 |     fn data_impl(&self, _py: Python) -> PyStringData<'_> {
[INFO] [stdout]     |                                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/objects/string.rs:321:22
[INFO] [stdout]     |
[INFO] [stdout] 321 |     pub fn to_string(&self, py: Python) -> PyResult<Cow<str>> {
[INFO] [stdout]     |                      ^^^^^                          ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 321 |     pub fn to_string(&self, py: Python) -> PyResult<Cow<'_, str>> {
[INFO] [stdout]     |                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/objects/string.rs:351:28
[INFO] [stdout]     |
[INFO] [stdout] 351 |     pub fn to_string_lossy(&self, py: Python) -> Cow<str> {
[INFO] [stdout]     |                            ^^^^^                 ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 351 |     pub fn to_string_lossy(&self, py: Python) -> Cow<'_, str> {
[INFO] [stdout]     |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/objects/mod.rs:119:85
[INFO] [stdout]     |
[INFO] [stdout] 119 |                 unsafe { crate::objects::typeobject::PyType::from_type_ptr(py, &mut crate::ffi::$typeobject) }
[INFO] [stdout]     |                                                                                     ^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/objects/tuple.rs:31:1
[INFO] [stdout]     |
[INFO] [stdout]  31 | pyobject_newtype!(PyTuple, PyTuple_Check, PyTuple_Type);
[INFO] [stdout]     | ------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: this error originates in the macro `pyobject_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/objects/tuple.rs:91:17
[INFO] [stdout]    |
[INFO] [stdout] 91 |     pub fn iter(&self, py: Python) -> slice::Iter<PyObject> {
[INFO] [stdout]    |                 ^^^^^                 ^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 91 |     pub fn iter(&self, py: Python) -> slice::Iter<'_, PyObject> {
[INFO] [stdout]    |                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/objects/mod.rs:119:85
[INFO] [stdout]     |
[INFO] [stdout] 119 |                 unsafe { crate::objects::typeobject::PyType::from_type_ptr(py, &mut crate::ffi::$typeobject) }
[INFO] [stdout]     |                                                                                     ^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/objects/typeobject.rs:31:1
[INFO] [stdout]     |
[INFO] [stdout]  31 | pyobject_newtype!(PyType, PyType_Check, PyType_Type);
[INFO] [stdout]     | ---------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: this error originates in the macro `pyobject_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: specialization is experimental
[INFO] [stdout]    --> src/objects/sequence.rs:259:5
[INFO] [stdout]     |
[INFO] [stdout] 259 |     default fn extract(py: Python, obj: &'s PyObject) -> PyResult<Self> {
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: see issue #31844 <https://github.com/rust-lang/rust/issues/31844> for more information
[INFO] [stdout]     = help: add `#![feature(specialization)]` to the crate attributes to enable
[INFO] [stdout]     = note: this compiler was built on 2026-06-16; consider upgrading it if it is out of date
[INFO] [stdout]     = warning: unstable syntax can change at any point in the future, causing a hard error!
[INFO] [stdout]     = note: for more information, see issue #154045 <https://github.com/rust-lang/rust/issues/154045>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `cpython` (lib) due to 13 previous errors; 6 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/objects/mod.rs:119:85
[INFO] [stdout]     |
[INFO] [stdout] 119 |                 unsafe { crate::objects::typeobject::PyType::from_type_ptr(py, &mut crate::ffi::$typeobject) }
[INFO] [stdout]     |                                                                                     ^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/objects/boolobject.rs:10:1
[INFO] [stdout]     |
[INFO] [stdout]  10 | pyobject_newtype!(PyBool, PyBool_Check, PyBool_Type);
[INFO] [stdout]     | ---------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: `#[deny(static_mut_refs)]` (part of `#[deny(rust_2024_compatibility)]`) on by default
[INFO] [stdout]     = note: this error originates in the macro `pyobject_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/objects/mod.rs:119:85
[INFO] [stdout]     |
[INFO] [stdout] 119 |                 unsafe { crate::objects::typeobject::PyType::from_type_ptr(py, &mut crate::ffi::$typeobject) }
[INFO] [stdout]     |                                                                                     ^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/objects/capsule.rs:190:1
[INFO] [stdout]     |
[INFO] [stdout] 190 | pyobject_newtype!(PyCapsule, PyCapsule_CheckExact, PyCapsule_Type);
[INFO] [stdout]     | ------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: this error originates in the macro `pyobject_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/objects/mod.rs:119:85
[INFO] [stdout]     |
[INFO] [stdout] 119 |                 unsafe { crate::objects::typeobject::PyType::from_type_ptr(py, &mut crate::ffi::$typeobject) }
[INFO] [stdout]     |                                                                                     ^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/objects/dict.rs:30:1
[INFO] [stdout]     |
[INFO] [stdout]  30 | pyobject_newtype!(PyDict, PyDict_Check, PyDict_Type);
[INFO] [stdout]     | ---------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: this error originates in the macro `pyobject_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/objects/mod.rs:119:85
[INFO] [stdout]     |
[INFO] [stdout] 119 |                 unsafe { crate::objects::typeobject::PyType::from_type_ptr(py, &mut crate::ffi::$typeobject) }
[INFO] [stdout]     |                                                                                     ^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/objects/list.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 | pyobject_newtype!(PyList, PyList_Check, PyList_Type);
[INFO] [stdout]     | ---------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: this error originates in the macro `pyobject_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/objects/mod.rs:119:85
[INFO] [stdout]     |
[INFO] [stdout] 119 |                 unsafe { crate::objects::typeobject::PyType::from_type_ptr(py, &mut crate::ffi::$typeobject) }
[INFO] [stdout]     |                                                                                     ^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/objects/module.rs:33:1
[INFO] [stdout]     |
[INFO] [stdout]  33 | pyobject_newtype!(PyModule, PyModule_Check, PyModule_Type);
[INFO] [stdout]     | ---------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: this error originates in the macro `pyobject_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/objects/mod.rs:119:85
[INFO] [stdout]     |
[INFO] [stdout] 119 |                 unsafe { crate::objects::typeobject::PyType::from_type_ptr(py, &mut crate::ffi::$typeobject) }
[INFO] [stdout]     |                                                                                     ^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/objects/num.rs:56:1
[INFO] [stdout]     |
[INFO] [stdout]  56 | pyobject_newtype!(PyLong, PyLong_Check, PyLong_Type);
[INFO] [stdout]     | ---------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: this error originates in the macro `pyobject_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/objects/mod.rs:119:85
[INFO] [stdout]     |
[INFO] [stdout] 119 |                 unsafe { crate::objects::typeobject::PyType::from_type_ptr(py, &mut crate::ffi::$typeobject) }
[INFO] [stdout]     |                                                                                     ^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/objects/num.rs:65:1
[INFO] [stdout]     |
[INFO] [stdout]  65 | pyobject_newtype!(PyFloat, PyFloat_Check, PyFloat_Type);
[INFO] [stdout]     | ------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: this error originates in the macro `pyobject_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/objects/object.rs:113:44
[INFO] [stdout]     |
[INFO] [stdout] 113 |         unsafe { PyType::from_type_ptr(py, &mut ffi::PyBaseObject_Type) }
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 113 |         unsafe { PyType::from_type_ptr(py, &raw mut ffi::PyBaseObject_Type) }
[INFO] [stdout]     |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/objects/mod.rs:119:85
[INFO] [stdout]     |
[INFO] [stdout] 119 |                 unsafe { crate::objects::typeobject::PyType::from_type_ptr(py, &mut crate::ffi::$typeobject) }
[INFO] [stdout]     |                                                                                     ^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/objects/set.rs:30:1
[INFO] [stdout]     |
[INFO] [stdout]  30 | pyobject_newtype!(PySet, PySet_Check, PySet_Type);
[INFO] [stdout]     | ------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: this error originates in the macro `pyobject_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/objects/mod.rs:119:85
[INFO] [stdout]     |
[INFO] [stdout] 119 |                 unsafe { crate::objects::typeobject::PyType::from_type_ptr(py, &mut crate::ffi::$typeobject) }
[INFO] [stdout]     |                                                                                     ^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/objects/string.rs:36:1
[INFO] [stdout]     |
[INFO] [stdout]  36 | pyobject_newtype!(PyString, PyUnicode_Check, PyUnicode_Type);
[INFO] [stdout]     | ------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: this error originates in the macro `pyobject_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/objects/mod.rs:119:85
[INFO] [stdout]     |
[INFO] [stdout] 119 |                 unsafe { crate::objects::typeobject::PyType::from_type_ptr(py, &mut crate::ffi::$typeobject) }
[INFO] [stdout]     |                                                                                     ^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/objects/string.rs:42:1
[INFO] [stdout]     |
[INFO] [stdout]  42 | pyobject_newtype!(PyBytes, PyBytes_Check, PyBytes_Type);
[INFO] [stdout]     | ------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: this error originates in the macro `pyobject_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/objects/string.rs:270:17
[INFO] [stdout]     |
[INFO] [stdout] 270 |     pub fn data(&self, py: Python) -> PyStringData {
[INFO] [stdout]     |                 ^^^^^                 ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 270 |     pub fn data(&self, py: Python) -> PyStringData<'_> {
[INFO] [stdout]     |                                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/objects/string.rs:286:18
[INFO] [stdout]     |
[INFO] [stdout] 286 |     fn data_impl(&self, _py: Python) -> PyStringData {
[INFO] [stdout]     |                  ^^^^^                  ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 286 |     fn data_impl(&self, _py: Python) -> PyStringData<'_> {
[INFO] [stdout]     |                                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/objects/string.rs:321:22
[INFO] [stdout]     |
[INFO] [stdout] 321 |     pub fn to_string(&self, py: Python) -> PyResult<Cow<str>> {
[INFO] [stdout]     |                      ^^^^^                          ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 321 |     pub fn to_string(&self, py: Python) -> PyResult<Cow<'_, str>> {
[INFO] [stdout]     |                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/objects/string.rs:351:28
[INFO] [stdout]     |
[INFO] [stdout] 351 |     pub fn to_string_lossy(&self, py: Python) -> Cow<str> {
[INFO] [stdout]     |                            ^^^^^                 ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 351 |     pub fn to_string_lossy(&self, py: Python) -> Cow<'_, str> {
[INFO] [stdout]     |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/objects/mod.rs:119:85
[INFO] [stdout]     |
[INFO] [stdout] 119 |                 unsafe { crate::objects::typeobject::PyType::from_type_ptr(py, &mut crate::ffi::$typeobject) }
[INFO] [stdout]     |                                                                                     ^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/objects/tuple.rs:31:1
[INFO] [stdout]     |
[INFO] [stdout]  31 | pyobject_newtype!(PyTuple, PyTuple_Check, PyTuple_Type);
[INFO] [stdout]     | ------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: this error originates in the macro `pyobject_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/objects/tuple.rs:91:17
[INFO] [stdout]    |
[INFO] [stdout] 91 |     pub fn iter(&self, py: Python) -> slice::Iter<PyObject> {
[INFO] [stdout]    |                 ^^^^^                 ^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 91 |     pub fn iter(&self, py: Python) -> slice::Iter<'_, PyObject> {
[INFO] [stdout]    |                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/objects/mod.rs:119:85
[INFO] [stdout]     |
[INFO] [stdout] 119 |                 unsafe { crate::objects::typeobject::PyType::from_type_ptr(py, &mut crate::ffi::$typeobject) }
[INFO] [stdout]     |                                                                                     ^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/objects/typeobject.rs:31:1
[INFO] [stdout]     |
[INFO] [stdout]  31 | pyobject_newtype!(PyType, PyType_Check, PyType_Type);
[INFO] [stdout]     | ---------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: this error originates in the macro `pyobject_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: specialization is experimental
[INFO] [stdout]    --> src/objects/sequence.rs:259:5
[INFO] [stdout]     |
[INFO] [stdout] 259 |     default fn extract(py: Python, obj: &'s PyObject) -> PyResult<Self> {
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: see issue #31844 <https://github.com/rust-lang/rust/issues/31844> for more information
[INFO] [stdout]     = help: add `#![feature(specialization)]` to the crate attributes to enable
[INFO] [stdout]     = note: this compiler was built on 2026-06-16; consider upgrading it if it is out of date
[INFO] [stdout]     = warning: unstable syntax can change at any point in the future, causing a hard error!
[INFO] [stdout]     = note: for more information, see issue #154045 <https://github.com/rust-lang/rust/issues/154045>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `cpython` (lib test) due to 13 previous errors; 6 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "2c30742d8e92ca8687208a685292bcc7c35de23f29a83a963f51b1a6412e5904", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2c30742d8e92ca8687208a685292bcc7c35de23f29a83a963f51b1a6412e5904", kill_on_drop: false }`
[INFO] [stdout] 2c30742d8e92ca8687208a685292bcc7c35de23f29a83a963f51b1a6412e5904
